如何在aspx.cs文件中获取HTML元素(复选框)C#

时间:2011-07-13 20:25:27

标签: html asp.net checkbox server-side

假设我有一些(在我的aspx文件中)的内容:

<input name="chk" id="cbox1" type="checkbox">
<input name="chk" id="cbox2" type="checkbox">
<input name="chk" id="cbox3" type="checkbox">
<input name="chk" id="cbox4" type="checkbox">

如何在.aspx.cs文件中获取每个元素的值?
我可以在C#中调用类似GetElementsByName的内容吗?

5 个答案:

答案 0 :(得分:0)

不,您不能,除非您将此控件标记为runat="server"

这是因为在ASP.NET中,所有静态html都成为Literal控件,.Text属性等于你的html。在这种情况下,它将是:

<asp:Literal>
    <input name="chk" id="cbox1" type="checkbox">
    <input name="chk" id="cbox2" type="checkbox">
    <input name="chk" id="cbox3" type="checkbox">
    <input name="chk" id="cbox4" type="checkbox">
</asp:Literal>

如果您将任何元素标记为runat="server",则可以从当前页面的.Controls集合中访问它们。

或(如在其他答案中)您可以使用服务器控件(CheckBoxCheckBoxList)进行此类输入

答案 1 :(得分:0)

在aspx文件中使用此代码:<asp:CheckBox runat="server" ID="cbox1">

然后在您的代码中,调用cbox1.Checked以查看是否已选中。

答案 2 :(得分:0)

您需要使用值服务器添加属性runat,这样。

<input name="chk" id="cbox4" type="checkbox" runat="server">

然后你可以这样做。

var val = cbox4.value;

希望这有帮助。

答案 3 :(得分:0)

您也可以使用this.Request.Form。像这样使用它:

this.Request.Form["ElementID"].

答案 4 :(得分:-2)

使用runat =“server”

  

<input name="cbox1" id="cbox1" runat="server" type="checkbox">

您可以直接使用它:

  

cbox1.Checked