2017-11-29 12 views
0

ドロップダウンを表示するには以下のコードがありますが、名前と値のペアがドロップダウンで表示されているように見えます。リストアイテムのドロップダウン

aspx.cs:

DropDownList dp = new DropDownList(); 
dp.ID = ToString(); 

dp.Items.Add(new ListItem("test1", "This is test1")); 
dp.Items.Add(new ListItem("test2", "This is test2")); 

Script.DataSource = dp.Items; 
Script.DataBind(); 

ASPX:私のデバッグは両方の名前と値が

<select name="Script" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;Script\&#39;,\&#39;\&#39;)&#39;, 0)" id="Script"> 
<option value="test1">test1</option> 
<option value="test2">test2</option> 
</select> 

が、必要性を下回るように、同じ来ていることを知っているようになった

<asp:DropDownList ID="Script" runat="server" OnSelectedIndexChanged="ScriptSelected" AutoPostBack="true"> 

</asp:DropDownList> 

以下のように

<select name="Script" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;Script\&#39;,\&#39;\&#39;)&#39;, 0)" id="Script"> 
<option value="test1">This is test1</option> 
<option value="test2">This is test2</option> 
</select> 
+0

"dropDown.DataTextField = "キーのような何かをする";"、例えばここを見て:https://stackoverflow.com/questions/8602174/bind-list-to-dropdownlist-what-to-do-with-value –

答えて

4

コントロールのDataValueFieldとDataTextFieldの両方を指定する必要があります。

<asp:DropDownList ID="Script" runat="server" OnSelectedIndexChanged="ScriptSelected" AutoPostBack="true" DataValueField="Value" DataTextField="Text"> 
</asp:DropDownList> 

それとも、あなたはそれをサーバ側をしたい場合は、

DropDownList dp = new DropDownList(); 
dp.ID = ToString(); 
dp.DataTextField = "Text"; 
dp.DataValueField = "Value"; 

dp.Items.Add(new ListItem("test1", "This is test1")); 
dp.Items.Add(new ListItem("test2", "This is test2")); 

Script.DataSource = dp.Items; 
Script.DataBind(); 
+0

お返事ありがとうございました。 – sunny

関連する問題