在aspx.cs文件(复选框)c#中抓住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文件中获取每个元素的值吗?
Can我在C#中称之为getElementsByName?

回答 5

  1. 赞同 0

    No,你不能,除非你会将这个控件标记为runat="server".

    这是因为在ASP.NET中,所有静态HTML都变成了一个LiteralControl.TextProperty等于您的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当前页面的校负。

    Oor(如在其他答案中),您可以使用服务器控件(CheckBoxOor.CheckBoxList)用于此类投入

    VMATM
    不正确 - 您不必设置runat =“server”atraribute,您可以使用类似的东西访问值:字符串值=请求[“chk”。toString();还洞穴长
    yes,同意你不能以这种方式“设置”价值,但他询问如何“获得”值?Dave Long
    @ Dave Long您无法在第一页加载中从它们中获取值,他们是否只在提交后检查。我不认为@GoogleSearchsentMehere意味着提交后获得值。vmatm
    OK,足够公平 - 在这种情况下,我同意您必须制作服务器控件。Dave Long
  2. 赞同 0

    您需要使用值服务器添加属性RACAT,谎言。

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

    Then you can do this.

    var val = cbox4.value;
    

    Hope this helps.

    ASH Burlaczenko
  3. 赞同 0

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

    然后在你的代码后面,呼叫cbox1.Checked查看是否已检查。

    USER842818
  4. 赞同 0

    You can also use this.Request.Form.使用它:

    this.Request.Form["ElementID"].
    

    Kevincampusano
  5. 赞同 -2

    runat =“服务器”

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

    You can use it directly like:

    cbox1.Checked.

    JBROOKS