如何以编程方式在 asp.net 中添加具有特定预选项目的下拉列表

发布于 2024-12-18 15:08:49 字数 647 浏览 0 评论 0原文

我已经弄清楚如何使用以下代码创建 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情魔剑神 2024-12-25 15:08:49

ListItemSelected 属性设置为 true:

Dim newListItem As ListItem
newListItem = New ListItem("Title", "Value")
newListItem.Selected = True
salesPersonDropList.Items.Add(newListItem )

Set your Selected property of the ListItem to true:

Dim newListItem As ListItem
newListItem = New ListItem("Title", "Value")
newListItem.Selected = True
salesPersonDropList.Items.Add(newListItem )
一曲爱恨情仇 2024-12-25 15:08:49

将结果存储在实现 IEnumerable 的对象中。

循环遍历结果集,然后循环遍历 DropDownList 的 Items 集合。如果当前 Item 等于结果集中的值,则将 Selected 属性设置为 true

假设您有一个从查询返回的填充数据表。

Foreach(Datarow row in Datatable.Rows)
{
        foreach (ListItem item in DropDownList.Items)
         {
             if (item.Value == row["columnName"])               
              {              
                 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.

Foreach(Datarow row in Datatable.Rows)
{
        foreach (ListItem item in DropDownList.Items)
         {
             if (item.Value == row["columnName"])               
              {              
                 item.Selected = true;               
               }             
              }                        

}

Please note that if your DropDownList's DataValueMember property is not set you will need ot use the Text property for comparison.

jJeQQOZ5 2024-12-25 15:08:49

需要在创建新列表项时对其进行测试,以查看它们是否与会话值匹配,然后只需将其设置为已选择并将其添加到列表中即可。

Dim newListItem As ListItem
newListItem = New ListItem("Title", "Value")
if(newListItem.value == SessionValue)
   newListItem.Selected = True;
salesPersonDropList.Items.Add(newListItem )

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.

Dim newListItem As ListItem
newListItem = New ListItem("Title", "Value")
if(newListItem.value == SessionValue)
   newListItem.Selected = True;
salesPersonDropList.Items.Add(newListItem )
从﹋此江山别 2024-12-25 15:08:49

这可以通过 vb.net 中的一条语句来完成。假设您的下拉列表的 ID 为 ddlYear,可以执行以下操作:

ddlYear.Items.Insert(0, New ListItem("--- All Years ---", "All"))

这会将新列表项插入到位置 0 或列表顶部。

一般来说:

dropdownlist.items.insert(Position, New ListItem(Text, Value)

This can be done in one statement in vb.net. Assume your dropdown list has the id of ddlYear, could do this:

ddlYear.Items.Insert(0, New ListItem("--- All Years ---", "All"))

This inserts the new list item at position 0, or the top of the list.

Generically:

dropdownlist.items.insert(Position, New ListItem(Text, Value)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文