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



假设我有我有一些东西(在我的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这样的东西吗?

不可以,除非您将此控件标记为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)来处理这些输入

您需要在value server中添加runat属性,就像这样。

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

那么你可以这样做。

var val = cbox4.value;

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

然后在后面的代码中,调用cbox1.Checked查看是否被检查。

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

this.Request.Form["ElementID"].

使用runat="server"

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

可以直接使用:

cbox1。检查

最新更新