[英]Getting HTML drop down list value from code behind
我在页面中有下拉列表和asp按钮,如下所示:
<select id="select1" >
<option value="smiley.gif">Smiley</option>
<option value="angry.gif">Angry</option>
<option value="stickman.gif">Stickman</option>
</select>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
单击按钮后,我需要从下拉列表中获取所选值并将其保存在会话中。 但是当列表更改时,它不应该重新加载页面(简单地说我不需要使用runat="server"
)。 这个怎么做?
您从Request对象获取值。
编辑,感谢@Péter的评论,将name属性添加到select元素:
<select id="select1" name="select1">
<option value="smiley.gif">Smiley</option>
<option value="angry.gif">Angry</option>
<option value="stickman.gif">Stickman</option>
</select>
在代码隐藏中:
var selectedOption = Request["select1"];
但是,如果您使用的是asp.net,我建议您使用select的服务器版本(runat = server),从而可以直接从代码隐藏中的Select对象访问该值。
要避免回发,可以设置AutoPostback = false,在下拉列表中选择值时,以下解决方案不会回发。 通过使用asp.net控件为您的下拉菜单获得类型安全等奖励:
<asp:DropDownList id="select1" runat="server" AutoPostback="False">
<asp:ListItem Value="smiley.gif" Text="Smiley"/>
<asp:ListItem Value="angry.gif" Text="Angry"/>
<asp:ListItem Value="stickman.gif" Text="Stickman"/>
</asp:DropDownList>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
在代码隐藏中:
var selectedOption = select1.SelectedValue;
您需要设置html控件的名称,然后您可以从Request Object获取它。
<select id="select1" name="myselect" >
<option value="smiley.gif">Smiley</option>
<option value="angry.gif">Angry</option>
<option value="stickman.gif">Stickman</option>
</select>
在你的按钮单击事件处理程序:
string selection = Request["myselect"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.