首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下拉列表中的第一条记录将不会更新其他下拉列表。

下拉列表中的第一条记录将不会更新其他下拉列表。
EN

Stack Overflow用户
提问于 2013-10-31 22:13:05
回答 2查看 268关注 0票数 0

我有一个从SQL查询的结果中填充的下拉框。来自dropdownlist1的选定值成功地填充了lbAuthors下拉列表。在测试期间,我意识到dropdownlist1的第一条记录从未更新到lbAuthors下拉列表中。下面是一个例子:如果我在第二个下拉框中有三个作者的名字( Frost,吉卜林,坡),那么名字-Frost-不会更新到第一个下拉框中。吉卜林或坡做-但不是弗罗斯特。

我的问题是-我需要在我的活动中包括什么,以便允许Frost (或任何第一次记录)更新到第一个下拉框中?-

代码隐藏:

代码语言:javascript
复制
protected void update_SelectedItem(object sender, EventArgs e)
{
    lbAuthorList.Items.Clear();
    lbAuthorList.Items.Add(new ListItem(DropDownList1.SelectedItem.Text, DropDownList1.SelectedItem.Text));
    lbAuthorList.Items.FindByValue(DropDownList1.SelectedItem.Text).Selected = true;
}

标记:

代码语言:javascript
复制
<asp:DropDownList runat="server" 
                  ID="lbAuthors" 
                  style="float:left;" 
                  DataSourceID="odsAuthorList" 
                  DataTextField="DisplayAuthorName" DataValueField="AuthorID" 
                  onselectedindexchanged="lbUserList_SelectedIndexChanged" 
                  AppendDataBoundItems="True" >
</asp:DropDownList>
<asp:DropDownList ID="DropDownList1" 
                  runat="server" 
                  AppendDataBoundItems="True" 
                  DataSourceID="SqlDataSource2" 
                  DataTextField="Display_AuthorName"  
                  EnableViewState="false"
                  DataValueField="Display_AuthorName"                  
                  OnSelectedIndexChanged="update_SelectedItem" 
                  AutoPostBack="true">
</asp:DropDownList>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-31 22:40:00

这是因为当您选择第一项时,选择的索引不会改变。您需要插入这样的虚拟项目::

代码语言:javascript
复制
<asp:DropDownList ID="DropDownList1" runat="server" 
                  AppendDataBoundItems="True" 
                  DataSourceID="SqlDataSource2" 
                  DataTextField="Display_AuthorName"  
                  EnableViewState="false"
                  DataValueField="Display_AuthorName"  
                  OnSelectedIndexChanged="update_SelectedItem" 
                  AutoPostBack="true">
    <asp:ListItem Text="--Select One--" Value="-1"></asp:ListItem>
</asp:DropDownList>
票数 1
EN

Stack Overflow用户

发布于 2013-11-01 11:38:27

此问题之所以出现,是因为您为下拉列表编写的代码更改了,但最初选择的第一个值当时没有触发下拉列表更改事件。如果你选择第二,然后选择第一个,它将运行良好。

只需在下拉列表项中添加一个虚拟变量。

Dropdownlist1.Items.Add(“-”);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19717488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档