DROPDOWNLIST获得的SelectedValue [英] DropdownList getting SelectedValue

查看:121
本文介绍了DROPDOWNLIST获得的SelectedValue的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何绑定的下拉列表中选定的值,将其指定为当前@TimeZone当我选择它,@TimeZone为null。

下面是我的code:

在我的页面加载,我有以下的code来分配值下拉:

  ddlTimeZone.DataSource =从TimeZoneInfo.GetZones P()
                         选择新的{} p.Id;
ddlTimeZone.DataTextField =ID;
ddlTimeZone.DataValueField =ID;
ddlTimeZone.DataBind();

接下来,我的.aspx文件中,我有以下几点:

 <&EditItemTemplate的GT;
    < ASP:DropDownList的ID =ddlTimeZone=服务器>
    < / ASP:DropDownList的>
< / EditItemTemplate中>

.....
.....

 的InsertCommand =INSERT INTO [公司]([时区])VALUES(@TimeZone) < InsertParameters>
        < ASP:参数名称=时区类型=字符串/>
 < / InsertParameters>

再次什么,我需要知道的是我怎么分配选定项的值在下拉列表中为当前@TimeZone当我选择它,@TimeZone为null。

我试过

 < ASP:DropDownList的ID =ddlTimeZone的SelectedValue ='<%#绑定(时区)%GT;' =服务器>
 < / ASP:DropDownList的>

但给了以下错误消息:


  

ddlTimeZone'有SelectedValue的是无效的,因为它不
  存在于项目清单。参数名称:值



解决方案

&LT返回的值;%#绑定(时区)%> 不存在在下拉列表中的值作为你的ID TimeZoneInfo.GetZones结合它()。给它一些的ID退出数据源。

将这个声明code的后面。

  ddlTimeZone.SelectedValue =idtthatexists;

编辑:基础上的假设,你必须通过GetZones返回的数据源时区()

  ddlTimeZone.DataSource =从TimeZoneInfo.GetZones P()
                         选择新的{p.Id,p.TimeZone};
ddlTimeZone.DataTextField =ID;
ddlTimeZone.DataValueField =时区;
ddlTimeZone.DataBind();
ddlTimeZone.Items.FindByText(SomeTextShowInDropDownItems)选择= TRUE。

How do I bind the selected value of the drop down list and assign it to @TimeZone as currently when I select it, @TimeZone is null.

Here is my code:

Within my page load, I have the following code that assigns value to the drop down:

ddlTimeZone.DataSource = from p in TimeZoneInfo.GetZones()
                         select new { p.Id };
ddlTimeZone.DataTextField = "Id";
ddlTimeZone.DataValueField = "Id";             
ddlTimeZone.DataBind();

Next, within my .aspx file, I have the following:

<EditItemTemplate>
    <asp:DropDownList ID="ddlTimeZone" runat="server">
    </asp:DropDownList>
</EditItemTemplate>

..... .....

 InsertCommand="INSERT INTO [Companies] ([TimeZone]) VALUES ( @TimeZone)"

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

Again, what I need to know is how do I assign the value of the selected item in the dropdown list to @TimeZone as currently when I select it, @TimeZone it is null.

I tried

 <asp:DropDownList ID="ddlTimeZone" SelectedValue='<%# Bind("TimeZone") %>' runat="server">
 </asp:DropDownList>

but that gave the following error message:

'ddlTimeZone' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value

解决方案

The value returned by <%# Bind("TimeZone") %> does not exists in the values of the dropdown as you are binding it with the id TimeZoneInfo.GetZones(). Give it some id that exits in data source.

Put this statement in code behind.

ddlTimeZone.SelectedValue = "idtthatexists";

Edit: Base on assumption that you have TimeZone in data source returned by GetZones()

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;

这篇关于DROPDOWNLIST获得的SelectedValue的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆