ドロップダウン リストで選択した値をバインドして @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="INSERT INTO [Companies] ([TimeZone]) VALUES ( @TimeZone)"
<InsertParameters>
<asp:Parameter Name="TimeZone" Type="String" />
</InsertParameters>
繰り返しますが、私が知る必要があるのは、ドロップダウン リストで選択した項目の値を現在のように @TimeZone に割り当てる方法です。@TimeZone は null です。
私は試した
<asp:DropDownList ID="ddlTimeZone" SelectedValue='<%# Bind("TimeZone") %>' runat="server">
</asp:DropDownList>
しかし、それは次のエラーメッセージを出しました:
「ddlTimeZone」には、アイテムのリストに存在しないため無効な SelectedValue があります。パラメータ名: 値