假设我有一些东西(在我的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
集合中访问它们。
或者(如在其他答案中)您可以使用服务器控件(CheckBox
或CheckBoxList
)进行此类输入
您需要使用值服务器添加属性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.Checked