Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DropdownList获取SelectedValue_C#_Asp.net - Fatal编程技术网

C# DropdownList获取SelectedValue

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 =

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

这是我的密码:

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

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;