【问题标题】:CheckBox in asp.net mvcasp.net mvc中的复选框
【发布时间】:2011-02-19 01:43:53
【问题描述】:

我有两个选择

一个

<%= Html.CheckBox("postType", false, new { @id = item.int_PostTypeId.ToString() })%>

第二

<input type="checkbox"  name="postType" value="<%= item.int_PostTypeId.ToString() %>

第一个问题: 这两种复选框声明方法有什么区别。

第二个问题: 以及我们如何获得选中复选框的值?

【问题讨论】:

    标签: asp.net asp.net-mvc checkbox


    【解决方案1】:

    如果您使用模型绑定器,请使用 Html.Checkbox(或者更好的是 MVC2 中的 CheckBoxFor)。它将对您透明地处理复选框,并且您将读取模型上的布尔值。它将呈现比复选框更复杂的内容(以避免在 POST 中根本不传输未选中的复选框这一事实引起的问题)。

    相反,如果您通过 FormCollection 检索值,请使用输入:如果您使用 Html.Checkbox 复合,您将在帖子中收到“奇怪”的东西(不是通常的值,而是一个包含两个测试值的字符串(如“true,false”)。如果您使用输入,您只需检查帖子键中是否存在该名称。

    【讨论】:

      【解决方案2】:

      一个主要区别是您在第一个 sn-p 中设置 HTML 输入的“id”属性(@ 用于表示 HTML 标记属性:@id、@class 等)并设置“第二个的值”...

      您需要在两者中设置@id,以便您可以在Javascript中轻松检索值。

      您没有说在什么上下文中您想要该值 - 无论是通过 javascript 的客户端还是通过 .NET 的控制器端。

      【讨论】:

      • 你的回答没有意义。
      • @Xulfee。我回答了问题 1 并针对问题 2 提出了后续问题...当我的回答正确且切中要害时,降低我的回答是不礼貌的。
      猜你喜欢
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 2011-08-03
      • 1970-01-01
      • 2011-09-07
      • 2013-08-05
      • 2011-05-16
      相关资源
      最近更新 更多