以下のコードがあります:
<select id="testSelect">
<option value="1">One</option>
<option value="2">Two</option>
</select>
<asp:Button ID="btnTest" runat="server" Text="Test it!" onclick="btnTest_Click" />
ポストバック時に選択したオプションの値を取得する必要があります。 asp.netでこれを行うにはどうすればよいですか?
<select>
要素に名前を追加する必要があります。
<select id="testSelect" name="testSelect">
サーバーに投稿され、次を使用して表示できます。
Request.Form["testSelect"]
asp:dropdownlist
を使用する場合は、testSelect.Text
で簡単に選択できます。
btnTes
を押した後に値を取得するには、Request.Form["testSelect"]
を実行する必要があります。
それが役に立てば幸い。
編集:Request.Form["testSelect"]
を実行するには、(IDだけでなく)セレクトのname
を指定する必要があります
このソリューションを使用して、必要なものを取得しました。
私の.aspxコードには、選択リストrunat = "server"があるとしましょう。
<select id="testSelect" runat="server" ClientIDMode="Static" required>
<option value="1">One</option>
<option value="2">Two</option>
</select>
私のC#コードでは、以下のコードを使用してテキストとオプションの値も取得しました。
testSelect.SelectedIndex == 0 ? "uninformed" :
testSelect.Items[testSelect.SelectedIndex].Text);
この場合、ユーザーがオプションを選択したかどうかを確認します。何も選択されていない場合、テキストを「情報なし」として表示します。
Javascript:
elementid. selectedIndex()
関数を使用して、選択したインデックスを取得します
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> HtmlSelect Example </title>
<script runat="server">
void Button_Click (Object sender, EventArgs e)
{
Label1.Text = "Selected index: " + Select1.SelectedIndex.ToString()
+ ", value: " + Select1.Value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
Select an item:
<select id="Select1" runat="server">
<option value="Text for Item 1" selected="selected"> Item 1 </option>
<option value="Text for Item 2"> Item 2 </option>
<option value="Text for Item 3"> Item 3 </option>
<option value="Text for Item 4"> Item 4 </option>
</select>
<button onserverclick="Button_Click" runat="server" Text="Submit"/>
<asp:Label id="Label1" runat="server"/>
</form>
</body>
</html>
Microsoftからのソース。これがお役に立てば幸いです!