如何在ASP.NET下拉列表的每个ListItem中保存第三个值?
发布时间:2020-12-16 06:23:12 所属栏目:asp.Net 来源:网络整理
导读:ASP.NET中的每个ListItem都有一个value属性和一个text属性.我还需要保存第三个值.我的hack是将一个特殊的分隔符和第三个值连接到Value属性. 但是使用FindByValue方法会让这很麻烦. 是否有更好的方法来保存第三个值或使用FindByValue的好方法. (我不能使用Fin
ASP.NET中的每个ListItem都有一个value属性和一个text属性.我还需要保存第三个值.我的hack是将一个特殊的分隔符和第三个值连接到Value属性.
但是使用FindByValue方法会让这很麻烦. 是否有更好的方法来保存第三个值或使用FindByValue的好方法. (我不能使用FindByText).我希望有一个Tag属性. 解决方法
如果您使用的是使用DataTextField和DataValueField属性定义的绑定DropDownList,那么在DropDownList本身上保存第三个值并不是一个好方法.你可以单独保存它.
如果您通过标记定义DropDownList,则可以尝试将其定义为自定义属性: <asp:DropDownList ID="ddlDummy" runat="server"> <asp:ListItem Text="x" Value="y" ThirdValue="z" /> </asp:DropDownList> 要检索它,您可以使用FindByValue并从ListItem获取ThirdValue属性: ListItem item = ddlDummy.Items.FindByValue("y"); string value = item.Attributes["ThirdValue"]; 但是,奇怪的是,如果动态生成项目,则不会保留属性: protected void Page_Load(object sender,EventArgs e) { if(!IsPostBack) { ListItem item = new ListItem("x","y"); item.Attributes.Add("ThirdValue","z"); ddlDummy.Items.Add(item); } } 如果这是你的情况,你可以看看这个问题给出了一个工作: ListItems attributes in a DropDownList are lost on postback? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Asp.net中的Session和Cookie
- asp.net – 文本框在点击输入时关注按钮?
- asp.net – SQL Server预登录握手确认错误
- asp.net-mvc – Knockout Js,JQuery UI Dialog和Partial vi
- asp.net-mvc – 调试流畅的验证规则
- asp.net-mvc – 为什么人们在MVC中使用Web API控制器
- ASP.NET中没有会话状态的用户身份验证
- asp.net – 无法弄清楚如何将我的NON-MVC站点从sitemap.xml
- asp.net-mvc – ASP.NET MVC门户可用吗?
- asp.net – 如何添加ROW_NUMBER到LINQ查询或实体?
推荐文章
站长推荐
热点阅读