我有一个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)**请帮助我 –