首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DropdownList获取SelectedValue

DropdownList获取SelectedValue
EN

Stack Overflow用户
提问于 2012-11-27 15:28:10
回答 1查看 2K关注 0票数 0

如何绑定下拉列表的选定值,并将其分配给@TimeZone,就像当前选择它时一样,@TimeZone为null。

这是我的代码:

在我的页面加载中,有以下代码为下拉列表分配值:

代码语言:javascript
复制
ddlTimeZone.DataSource = from p in TimeZoneInfo.GetZones()
                         select new { p.Id };
ddlTimeZone.DataTextField = "Id";
ddlTimeZone.DataValueField = "Id";             
ddlTimeZone.DataBind();

接下来,在我的.aspx文件中,我有以下内容:

代码语言:javascript
复制
<EditItemTemplate>
    <asp:DropDownList ID="ddlTimeZone" runat="server">
    </asp:DropDownList>
</EditItemTemplate>

..

代码语言:javascript
复制
 InsertCommand="INSERT INTO [Companies] ([TimeZone]) VALUES ( @TimeZone)"

 <InsertParameters>                 
        <asp:Parameter Name="TimeZone" Type="String" />           
 </InsertParameters>

同样,我需要知道的是,如何将下拉列表中选定的项的值分配给@TimeZone,就像当前选择它时一样,@TimeZone是空的。

我试过了

代码语言:javascript
复制
 <asp:DropDownList ID="ddlTimeZone" SelectedValue='<%# Bind("TimeZone") %>' runat="server">
 </asp:DropDownList>

但是,这给出了以下错误消息:

'ddlTimeZone‘有一个无效的SelectedValue,因为它不存在于项目列表中。参数名称:值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 15:32:47

<%# Bind("TimeZone") %>返回的值不存在于下拉列表的值中,因为您要将其绑定到id TimeZoneInfo.GetZones()。给它一些存在于数据源中的id。

将此语句放在后面的代码中。

代码语言:javascript
复制
ddlTimeZone.SelectedValue = "idtthatexists";

编辑:基于假设在由TimeZone ()返回的数据源中有GetZones

代码语言:javascript
复制
ddlTimeZone.DataSource = from p in TimeZoneInfo.GetZones()
                         select new { p.Id, p.TimeZone };
ddlTimeZone.DataTextField = "Id";
ddlTimeZone.DataValueField = "TimeZone";   
ddlTimeZone.DataBind();
ddlTimeZone.Items.FindByText("SomeTextShowInDropDownItems").Selected = true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13587474

复制
相关文章

相似问题

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