C# DropdownList获取SelectedValue
如何绑定下拉列表中的选定值并将其分配给@TimeZone,就像当前选择它时一样,@TimeZone为空 这是我的密码: 在页面加载中,我有以下代码为下拉列表赋值:C# DropdownList获取SelectedValue,c#,asp.net,C#,Asp.net,如何绑定下拉列表中的选定值并将其分配给@TimeZone,就像当前选择它时一样,@TimeZone为空 这是我的密码: 在页面加载中,我有以下代码为下拉列表赋值: ddlTimeZone.DataSource = from p in TimeZoneInfo.GetZones() select new { p.Id }; ddlTimeZone.DataTextField = "Id"; ddlTimeZone.DataValueField =
ddlTimeZone.DataSource = from p in TimeZoneInfo.GetZones()
select new { p.Id };
ddlTimeZone.DataTextField = "Id";
ddlTimeZone.DataValueField = "Id";
ddlTimeZone.DataBind();
接下来,在.aspx文件中,我有以下内容:
<EditItemTemplate>
<asp:DropDownList ID="ddlTimeZone" runat="server">
</asp:DropDownList>
</EditItemTemplate>
。。。。。
InsertCommand=“插入到[公司]([时区])值(@TimeZone)”
同样,我需要知道的是,当我选择@TimeZone时,@TimeZone it为null,如何将下拉列表中所选项目的值分配给@TimeZone
我试过了
<asp:DropDownList ID="ddlTimeZone" SelectedValue='<%# Bind("TimeZone") %>' runat="server">
</asp:DropDownList>
但这给出了以下错误消息:
“ddlTimeZone”有一个SelectedValue,该值无效,因为它没有
存在于项目列表中。参数名称:value
返回的值在下拉列表的值中不存在,因为您正在将其与id TimeZoneInfo.GetZones()绑定。给它一些存在于数据源中的id
将此语句放在代码后面
ddlTimeZone.SelectedValue = "idtthatexists";
编辑:假设GetZones()返回的数据源中有时区
谢谢,但是如何绑定到时区呢?您需要选择绑定的属性。如果要选择时区,请在ddlTimeZone.DataTextField=“timezone”上绑定时区;使用SelectText而不是SelectedValue对不起,Adil,你能举个小例子吗。我不确定在哪里使用ddlTimeZone.DataTextField等。更新了我的答案,这可能会帮助您Hi Adil。谢谢你的回答,但我要找的是不同的东西。对不起,我不清楚。当用户从下拉列表中选择一个值时,我如何在@TimeZone中获得它,因为我的插入需要“@TimeZone”,我想将它与用户从下拉列表中选择的值联系起来。注意,在我的例子中,DataTextField和DataValueField都是Id。
ddlTimeZone.SelectedValue = "idtthatexists";
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;