如何以编程方式在 asp.net 中添加具有特定预选项目的下拉列表
我已经弄清楚如何使用以下代码创建 DropDownList:
<select id="salesPersonDropList" runat="server"></select>
在我的 .aspx 页面中,然后我的代码通过数据库输出运行循环:
Dim newListItem As ListItem
newListItem = New ListItem("Title", "Value")
salesPersonDropList.Items.Add(newListItem )
我不明白的是如何以编程方式设置创建的列表项是在渲染的 DropDownList 中预先选择的一个,即如何创建我在 HTML 中编写的内容:
<select>
<option value="1">1</option>
<option selected value="2">2</option>
</select>
基于数据库输出。当后面的代码循环访问数据库输出时,它应该将输出与会话变量进行比较,如果它们的值匹配,则 ListItem 应该是在呈现的 DropDown 中选择的项目。
I've worked out how to create a DropDownList using the following code:
<select id="salesPersonDropList" runat="server"></select>
In my .aspx page, then my code behind loops through database output running:
Dim newListItem As ListItem
newListItem = New ListItem("Title", "Value")
salesPersonDropList.Items.Add(newListItem )
What I can't figure out is how to programatically set which of the List Items created is the one to be pre-selected in the rendered DropDownList, ie, how to create what I'd write in HTML as:
<select>
<option value="1">1</option>
<option selected value="2">2</option>
</select>
Based on database output. As the code behind loops through the database output it should compare the output to a session variable and if they values match, the ListItem should be the item selected in the rendered DropDown.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
将
ListItem
的Selected
属性设置为 true:Set your
Selected
property of theListItem
to true:将结果存储在实现 IEnumerable 的对象中。
循环遍历结果集,然后循环遍历 DropDownList 的 Items 集合。如果当前 Item 等于结果集中的值,则将 Selected 属性设置为 true
假设您有一个从查询返回的填充数据表。
请注意,如果您的 DropDownList 的 DataValueMember 属性未设置,您将需要使用 Text 属性进行比较。
Store your results in an object that implements IEnumerable.
Loop through your resultset and then Loop through your DropDownList's Items collection. If the current Item is equal to the value in your result set set the Selected property to true
Say you have a populated datatable returned from your query.
Please note that if your DropDownList's DataValueMember property is not set you will need ot use the Text property for comparison.
需要在创建新列表项时对其进行测试,以查看它们是否与会话值匹配,然后只需将其设置为已选择并将其添加到列表中即可。
Need to test the new list items as they are being created to see if they match the session value, then just set that one to selected and add it to the list.
这可以通过 vb.net 中的一条语句来完成。假设您的下拉列表的 ID 为 ddlYear,可以执行以下操作:
这会将新列表项插入到位置 0 或列表顶部。
一般来说:
This can be done in one statement in vb.net. Assume your dropdown list has the id of
ddlYear
, could do this:This inserts the new list item at position 0, or the top of the list.
Generically: