看板 C_Sharp 關於我們 聯絡資訊
小弟是asp.net新手,最近想做個網頁 網頁呈現方式是 上面有個 menu div 下面有個 content div 按下 menu 中的連結時下面的 content 會使用 jQuery 的 load 載入對應的網頁 js程式碼是這樣 $("div#content").empty().load(url); 在這裡小弟遇到了幾個問題 1. 我的 menu 那邊有個 <asp:Button> 作為登出按鈕 當我一登入 進入該網頁時 登出的按鈕是沒問題的 但是當我點選的 menu 中的連結 content 載入網頁後 那個登出的按鈕按下後就會出現錯誤 ( 錯誤訊息 http://pastebin.com/kdcch7P2 ) 2. 其中有個連結對應到的網頁 內容有 gridview(使用SqlDataSource連結資料) 完全顯示不出來 但也沒顯示錯誤訊息 因為小弟有學過一點點 php 所以都是用寫 php 的想法去做 似乎沒辦法直接套用在 asp.net 上 不知道板上有沒有高手或者遇過相同問題的前輩可以替我解答 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.163.135.38 ※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 02:26)
ssccg:你載入到div的網頁是完整的一個還是UserControl? 06/01 08:53
完整的網頁,但我試著把 <html> <body> 標籤刪除 還是不行 ※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 09:23)
ssccg:你主頁的form有包到那個div嗎? 06/01 09:29
※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 09:57)
ssccg:主頁的form不要包到div,不然會有一些內建欄位衝到 06/01 10:12
ssccg:你的錯誤看起來是viewstate post值變成主頁的+載入頁的 06/01 10:13
感謝指導 問題1的錯誤訊息已經不會出現了 可以正常執行 可是問題2的 gridview 一樣出不來 :( ※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 22:51)
qwer820404:出不來是沒有做bind或是postback的處理被洗掉了?? 06/02 00:11
我的gridview那個網頁 直接開的話都沒有問題 可是被用 .load() 進去就會顯示不出來 ※ 編輯: aiueoH 來自: 1.163.135.38 (06/02 00:50)
qwer820404:看一下原始碼 aspx的html有在div裡面嗎 06/02 08:50
沒有 我已經把 <html> <body> 都拿掉了 我的狀況是 load 之後 div 裡面還是完全空的狀態 沒有東西 ※ 編輯: aiueoH 來自: 1.163.128.221 (06/02 10:32)
qwer820404:方便提供你的網頁檔嗎?? 我想測試一下 06/02 14:18
qwer820404:我做了簡單的測試 有A、B兩個網頁 06/02 14:41
qwer820404:B是單純用一個gridview+sqldatasource的網頁 06/02 14:41
qwer820404:A是用一個form包住一個div 然後有jquery語法把B載到div 06/02 14:42
qwer820404:jquery的語法我是用$("#form1").ready(function(){}); 06/02 14:42
qwer820404:把$("#div").empty().load(url);放在大括號裡面 06/02 14:43
qwer820404:這樣是可以正常出來的 你的觸發事件是Click?? 06/02 14:43
qwer820404:那有用alert()語法測嗎,看你的觸發事件是否正常觸發 06/02 14:44
ssccg:先用browser的工具看一下你load()的request/response怎樣了 06/02 16:52
ssccg:是整頁都沒讀到還是只有gridview顯示不出來? 06/02 16:53
感謝兩位前輩耐心指點 小弟後來發現是連結的問題 因為div#content內的網頁還有一個menuB 小弟的檔案路徑分別是有 /mainmenu.aspx (menuA) /test/insert.aspx /test/gridview.aspx 而這個menuB的連結(使用load的url) 我原本是設 gridview.aspx 以及 /test/gridview.aspx 都不行 後來發現須設為 ../test/gridview.aspx 才可以正常執行 有點不懂為何會這樣 "../" 跟 "test/" 不是應該可以抵銷嗎? 現在小弟出現另外兩個問題 1. insert.aspx 內的 button 不能用 錯誤訊息 -------------------------------------------------------------------------- 找不到資源。 描述: HTTP 404. 您要尋找的資源 (或其相依性的其中之一) 可能已經移除、名稱已經變 更或是暫時無法使用。請檢閱下列 URL,並且確定它的拼寫無誤。 要求的 URL: /insert.aspx -------------------------------------------------------------------------- 這個小弟大概知道是因為在mainmenu.aspx裡 load /test/insert.aspx 所以當下路徑會指在主目錄下(與mainmenu.aspx同一層) 但是不知道該怎麼解決 /test/insert.aspx 找不到有關的路徑參數 php的話 大概就是改form的目標網頁 asp.net該怎麼辦呢??? 2. gridview.aspx 內的 gridview 修改 刪除 功能不能用 會顯示 無效的viestate 錯誤訊息 (http://pastebin.com/MzxFND3X) 是否跟有兩個form有關係? 不好意思 再麻煩一下前輩了 謝謝 ※ 編輯: aiueoH 來自: 1.163.128.221 (06/04 05:44)
qwer820404:第一個問題你可能要去了解一下絕對跟相對路徑的用法 06/04 19:24
qwer820404:第二個問題是 你貼的錯誤訊息連結失效哩 06/04 19:24
問題2不知道我改到什麼東西 沒有再出現了 @_@ 關於問題1 不知道qwer大大可否為我解惑一下 我的理解是這樣 當前路徑是在mainmenu.aspx 就算是load /test/insert.aspx 當前的路徑也應該是test的上一層也就是mainmenu.aspx所在的目錄 在php的話應該要把form的post網頁設為 /test/insert.aspx 可是在aps.net的form沒有這個參數可以設定 (我看到的只有id和runat) ※ 編輯: aiueoH 來自: 1.163.128.32 (06/05 20:44)
qwer820404:form是html的東西…怎麼會兩邊不一樣 06/05 21:47
qwer820404:form有action屬性可以設定Submit之後要導的網頁 06/05 21:48