J'ai le code ci-dessous:
<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" />
J'ai besoin d'obtenir la valeur des options sélectionnées lors de la publication. Comment puis-je faire cela avec asp.net?
Vous devez ajouter un nom à votre <select>
élément:
<select id="testSelect" name="testSelect">
Il sera publié sur le serveur, et vous pouvez le voir en utilisant:
Request.Form["testSelect"]
Si vous utilisiez asp:dropdownlist
vous pouvez le sélectionner plus facilement en testSelect.Text
.
Vous devez maintenant faire un Request.Form["testSelect"]
pour obtenir la valeur après avoir appuyé sur btnTes
.
J'espère que ça aide.
EDIT: Vous devez spécifier un name
de la sélection (pas seulement l'ID) pour pouvoir Request.Form["testSelect"]
J'ai utilisé cette solution pour obtenir ce dont vous avez besoin.
Disons que dans mon code .aspx il y a une liste de sélection runat = "server":
<select id="testSelect" runat="server" ClientIDMode="Static" required>
<option value="1">One</option>
<option value="2">Two</option>
</select>
Dans mon code C #, j'ai utilisé le code ci-dessous pour récupérer le texte et également la valeur des options:
testSelect.SelectedIndex == 0 ? "uninformed" :
testSelect.Items[testSelect.SelectedIndex].Text);
Dans ce cas, je vérifie si l'utilisateur a sélectionné l'une des options. S'il n'y a rien de sélectionné, je montre le texte comme "non informé".
Javascript:
utilisez la fonction elementid. selectedIndex()
pour obtenir l'index sélectionné
<%@ 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>
Source de Microsoft. J'espère que cela vous sera utile!