我有一個GridView,我通過列表填充它。其中一列是DropDownList,AllowPaging設置爲true。我的問題是,當我在ddl上選擇一個值,並在分頁後,選定的值丟失。是否有任何方法/想法來堅持選定的值? 感謝您的幫助。在頁面上堅持dropdownlist
2
A
回答
1
你可以使用視圖狀態內的字典對象保存多個值即
Dictionary<int, string> ddlValues = new Dictionary<int, string>()
其中int是行索引和字符串是DDL選擇的值。當然,這可能是一個int/guid或其他什麼取決於ddl中存儲的實際值,或者是一個int,如果你想使用selectedIndex來代替。
頁面上的事件中,你需要做的
protected void MyGridView_PageIndexChanging(Object sender, GridViewPageEventArgs e)
{
for(int rowIndex = 0; rowIndex < myGridView.Rows.Length; rowIndex++)
{
DropdownList ddl = myGridView.Rows[rowIndex].FindControl("ddlId") as DropDownList
if(ddl != null)
{
if(ddl.SelectedIndex > 0) //.. or sensible check appropriate to you
{
int ddlIndex = rowIndex * e.NewPageIndex + 1;
//.. add pageIndex and selectedValue to dictionary
ddlValues.Add(ddlIndex, ddl.SelectedValue);
}
}
}
}
不要擔心當前頁面DDL值。這些將以正常的方式持續在視圖狀態。這是我們所考慮的「隱藏」頁面。因此,我們正在重新填充網格頁面時的字典。
該字典然後可以保存在session/viewState中,並通過反向執行該過程用於補充下拉列表。例如,當頁面加載(檢查!isPostBack
)或當電網重新綁定取決於你設置的東西
0
您可能希望將數據保存在ViewState
中。看看這個MSDN文章
http://msdn.microsoft.com/en-us/library/ms972976.aspx
後您將其保存在ViewState中,你可以檢索PostBack
這樣的數據:
if (!Page.IsPostBack)
{
//do some stuff
}
else
{
//retrieve the viewstate information
selectedValue= ViewState["dropdownlistValue"].ToString();
}
或者,你也可以保持在一個Session
信息可變的,但可能會引入其他問題取決於你在做什麼。
+0
謝謝Rondel的回覆。爲了節省ViewState實際上是一個好方法,但是我的問題是我必須堅持不止一個價值,我不知道該怎麼做。我的網格視圖有一個複選框列,以允許一次選擇多行,這就是爲什麼我需要堅持許多價值。你有什麼主意嗎? –
相關問題
- 1. 用DIV堅持頂頁面
- 2. REACT組件堅持頁面?
- 3. 堅持值DropDownList的編輯模板
- 4. Bootstrap Footer not堅持頁面底部
- 5. Dropdownlist SelectedIndexChanged不在aspx頁面上觸發
- 6. ASP.NET:如何堅持頁面狀態跨頁面?
- 7. 我怎麼才能堅持頁腳在頁面
- 8. 製作小組堅持,儘管頁面上點擊瀏覽器
- 9. 讓對象堅持頁面的右上方
- 10. 在aspx頁面顯示DropDownList
- 11. 是否堅持或不堅持每頁結果數。如果我們想堅持下去,如何堅持
- 12. 堅持國家amoung網頁
- 13. Ext.js堅持面板窗口
- 14. 如何在頁面重定向到asp.net MVC後堅持頁面狀態?
- 15. 網站頁腳不會堅持頁面的底部
- 16. 粘性頁腳不堅持頁面底部
- 17. localStorage在OSX的webview不堅持頁面刷新 - Office365 Addin
- 18. paypal IPN的作品,但堅持在貝寶的謝謝頁面!
- 19. Addclass上的document.ready不堅持
- 20. 如何堅持DropDownList的數據源,從Linq查詢
- 21. 在ASP.NET網站上堅持參考
- 22. jsTree堅持在IE8上「加載」
- 23. GridView跳轉到頁面DropDownList
- 24. 學說堅持+堅持=插入+插入?
- 25. Twitter Boostrap - 獲取警報消息堅持頁面頂部
- 26. 堅持iOS選項卡欄更多頁面
- 27. 點擊鏈接後,我如何堅持谷歌翻譯頁面?
- 28. 我如何堅持詹金斯狀態頁面?
- 29. Ionic2按鈕必須堅持頁面底部
- 30. IE7:無法獲取菜單堅持到頁面頂部
我收到字典中的值,但如何重新填充下拉列表中的相同的值..我問** [問題在這裏..!](http://stackoverflow.com/questions/22830180/persisting-dropdownlist- value-in-pageindexchanged-of-gridview)**請幫助我 –