【问题标题】:How can I find out if a check box is checked? [closed]如何确定是否选中了复选框? [关闭]
【发布时间】:2015-12-01 03:17:28
【问题描述】:

我有 3 个复选框,我想用 C# 编写一个语句,让我找出哪些复选框被选中。我尝试使用

 if(check1.IsChecked.Value == 1){
}

但这似乎不起作用。我该如何解决这个问题?我还希望能够获得属于选中复选框的文本。这是复选框的 HTML 代码。

<div>
       <h3>Membership Type</h3>
  <label>
    <input type="checkbox" class="radio" value="1" name="check1" />Normal User</label>
  <label>
    <input type="checkbox" class="radio" value="1" name="check2" />Verified Reviewer</label>
  <label>
    <input type="checkbox" class="radio" value="1" name="check3" />Development Team</label>

        </div>

【问题讨论】:

  • 您究竟在哪里尝试访问该复选框?请记住,C# 在服务器端运行,而 HTML 在客户端运行。除非页面被发回,否则您将无法访问该复选框。
  • 您不需要使用 .Value == 1,只需使用 if(check1.IsChecked)
  • @Swailem95 如果这是一个 ASP.NET 页面,请使用 ASP.NET 复选框:&lt;asp:CheckBox ID="check1" runat="server"/&gt; 这样您就可以在后面的代码中访问它。
  • 需要在后面的代码中添加runat="server"才能访问html通用控件。但正如@PoweredByOrange 建议的那样,使用 ASP 复选框控件。

标签: c# html asp.net


【解决方案1】:

我不知道您是否期望单选按钮样式(一次只有一个选项可用)或复选框样式(允许任意组合选择)。这可能就是你所追求的:

<asp:RadioButtonList ID="rblUserType" runat="server">
    <asp:ListItem Text="Normal User" Value="1" />
    <asp:ListItem Text="Verified Reviewer" Value="2" />
    <asp:ListItem Text="Development Team" Value="3" />
</asp:RadioButtonList>

代码端:

if (rblUserType.SelectedIndex == 1)
{
    //First value selected
}
else if (rblUserType.SelectedValue == "2")
{
    //An alternate way to select which entry was selected
}

【讨论】:

    【解决方案2】:

    只有 .Net 控件的 ID 映射到变量,名称不是。为 ID 标签参数赋值并使用 runat="server" 来访问它。

    【讨论】:

      【解决方案3】:

      看起来你有复选框作为 HTML 控件。您无法在后面的 c# 代码中访问那些。相反,您可以使用 javascript 代码来获取选定复选框的文本或将控件标记为 runat=Server

      【讨论】:

      • 你能放一个关于你解释了什么的示例代码吗?
      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 2014-02-17
      • 2011-04-18
      • 1970-01-01
      • 2013-09-10
      • 1970-01-01
      • 2017-03-12
      • 2021-01-12
      相关资源
      最近更新 更多