framework2.0
要達到效果:
當點擊gridview中任一條記錄的linkbutton(在RowDataBound時,捆有唯一標識該條記錄的id)時,下面的iframe可以顯示詳細的編輯頁面,并且顯示該條記錄的各個field值。要求每次點擊時,整個頁面不刷新,只有iframe刷新。
我的問題是,如何把點擊的那條記錄的所有屬性值都傳給iframe?
因為gridview綁定的datatable里的值是從不同server上遠程取回來拼接成的,相當麻煩。每條記錄都含有很多信息。如果每次只傳焦點記錄的id給iframe,然后重新去取該條記錄的信息的話,并不是不可以,只是我覺得似乎損耗很大,所以希望可以利用已經取出來的存在datatable中的值。
其實這個效果如果允許整個頁面刷新的話,我已經實現了。但現在要求用iframe局部刷新,不允許刷新全頁面了...
原來的方法:
dt = (DataTable)ViewState["datatable"]; //用ViewState["datatable"]存的就是綁定gridview的數據源DataRow[] row = dt.Select("id='" + ((LinkButton)sender).CommandArgument.ToString()+"'"); //整個頁面刷新時,我用這種方法取出具體每條記錄信息。然后依次把各個屬性賦值給各個控件...
現在要求局部頁面刷新的話,我應該怎么在不刷新整個頁面的前提下,把每一條數據的所有datarow里包含的信息都傳給iframe呢?不刷新頁面就不能執(zhí)行后臺代碼那怎么取值傳值??? (┬_┬)
?
之前沒有使用過iframe的經驗,現在完全傻了,不知道該如何著手,請大家給點建議。關于我上面現有的做法有地方做的不好的,也歡迎大家指點,謝謝了!
(因為某些原因不允許使用ajax,所以選擇了iframe,所以請大家不要建議我如何用ajax實現了... Orz)
8 回答

達令說
TA貢獻1821條經驗 獲得超6個贊
沒什么好建議,只有想說:
如果每次只傳焦點記錄的id給iframe,然后重新去取該條記錄的信息的話,并不是不可以,只是我覺得似乎損耗很大
-------------------
并沒有你想象的損耗很大的情況存在,相比,你用了現復雜的代碼去實現,更顯的損失更大:一來是精力,二來是代碼更為多雜。
合理的判斷性能及用簡潔的方法實現功能,是一門我們大家需要學習與掌握的。

MYYA
TA貢獻1868條經驗 獲得超4個贊
您說的有道理,確實按目前的情況來看,我要按這個思路想下去會花費很多的時間和精力,可是如果用id重新去取單挑記錄的信息的話,為了拼全每一條記錄所需要的全部信息真的是很麻煩,要連接兩遍不同的遠程服務器分別取值,然后想辦法拼接什么的....很多操作感覺幾乎就是重復之前的部分,可是又沒法跟之前的操作合并到一起代碼重用什么的,于是就有點不甘心。我現在確實是有點糾結不知道該怎么辦好了。。。 (┬_┬)
- 8 回答
- 0 關注
- 386 瀏覽
添加回答
舉報
0/150
提交
取消