[問題] ASP.NET 使用 jQuery .load() 錯誤

看板C_Sharp (C#)作者 (滿滿的)時間13年前 (2012/06/01 02:26), 編輯推噓6(6014)
留言20則, 2人參與, 最新討論串1/1
小弟是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)

06/01 08:53, , 1F
你載入到div的網頁是完整的一個還是UserControl?
06/01 08:53, 1F
完整的網頁,但我試著把 <html> <body> 標籤刪除 還是不行 ※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 09:23)

06/01 09:29, , 2F
你主頁的form有包到那個div嗎?
06/01 09:29, 2F
※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 09:57)

06/01 10:12, , 3F
主頁的form不要包到div,不然會有一些內建欄位衝到
06/01 10:12, 3F

06/01 10:13, , 4F
你的錯誤看起來是viewstate post值變成主頁的+載入頁的
06/01 10:13, 4F
感謝指導 問題1的錯誤訊息已經不會出現了 可以正常執行 可是問題2的 gridview 一樣出不來 :( ※ 編輯: aiueoH 來自: 1.163.135.38 (06/01 22:51)

06/02 00:11, , 5F
出不來是沒有做bind或是postback的處理被洗掉了??
06/02 00:11, 5F
我的gridview那個網頁 直接開的話都沒有問題 可是被用 .load() 進去就會顯示不出來 ※ 編輯: aiueoH 來自: 1.163.135.38 (06/02 00:50)

06/02 08:50, , 6F
看一下原始碼 aspx的html有在div裡面嗎
06/02 08:50, 6F
沒有 我已經把 <html> <body> 都拿掉了 我的狀況是 load 之後 div 裡面還是完全空的狀態 沒有東西 ※ 編輯: aiueoH 來自: 1.163.128.221 (06/02 10:32)

06/02 14:18, , 7F
方便提供你的網頁檔嗎?? 我想測試一下
06/02 14:18, 7F

06/02 14:41, , 8F
我做了簡單的測試 有A、B兩個網頁
06/02 14:41, 8F

06/02 14:41, , 9F
B是單純用一個gridview+sqldatasource的網頁
06/02 14:41, 9F

06/02 14:42, , 10F
A是用一個form包住一個div 然後有jquery語法把B載到div
06/02 14:42, 10F

06/02 14:42, , 11F
jquery的語法我是用$("#form1").ready(function(){});
06/02 14:42, 11F

06/02 14:43, , 12F
把$("#div").empty().load(url);放在大括號裡面
06/02 14:43, 12F

06/02 14:43, , 13F
這樣是可以正常出來的 你的觸發事件是Click??
06/02 14:43, 13F

06/02 14:44, , 14F
那有用alert()語法測嗎,看你的觸發事件是否正常觸發
06/02 14:44, 14F

06/02 16:52, , 15F
先用browser的工具看一下你load()的request/response怎樣了
06/02 16:52, 15F

06/02 16:53, , 16F
是整頁都沒讀到還是只有gridview顯示不出來?
06/02 16:53, 16F
感謝兩位前輩耐心指點 小弟後來發現是連結的問題 因為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)

06/04 19:24, , 17F
第一個問題你可能要去了解一下絕對跟相對路徑的用法
06/04 19:24, 17F

06/04 19:24, , 18F
第二個問題是 你貼的錯誤訊息連結失效哩
06/04 19:24, 18F
問題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)

06/05 21:47, , 19F
form是html的東西…怎麼會兩邊不一樣
06/05 21:47, 19F

06/05 21:48, , 20F
form有action屬性可以設定Submit之後要導的網頁
06/05 21:48, 20F
文章代碼(AID): #1FnxVFBf (C_Sharp)
文章代碼(AID): #1FnxVFBf (C_Sharp)