繁体   English   中英

从后面的代码获取HTML下拉列表值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM