【问题标题】:Why is it removed: ASP.NET MVC CheckBoxList (without MVCContrib)为什么被删除:ASP.NET MVC CheckBoxList(没有 MVCContrib)
【发布时间】:2010-09-17 02:45:02
【问题描述】:

为什么 CheckBoxList 从 ASP.NET MVC 预览版 5 中删除?

目前我看不到任何方法可以创建复选框列表(名称相似但 ID 不同),以便人们可以从列表中选择 0-1 多个选项。

在 MVCContrib 库中有一个 CheckBoxList 列表,但它已被弃用。对于其他 HtmlHelpers,我可以理解这一点,但在预览版 5 中似乎没有替代 CheckBoxList

我想创建一个非常简单的列表,如下所示,但是使用 ASP.NET MVC 预览版 5 执行此操作的最佳方法是什么?

<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="goed"> goed
<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="redelijk"> redelijk
<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="matig"> matig
<INPUT TYPE="checkbox" NAME="Inhoud" VALUE="slecht"> slecht

【问题讨论】:

标签: asp.net-mvc checkboxlist


【解决方案1】:

视图中用于生成复选框的 for 循环

<% foreach(Inhoud i in ViewData["InhoudList"] as List<Inhoud>) { %>
  <input type="checkbox" name="Inhoud" value="<%= i.name %>" checked="checked" /> <%= i.name %>
<% } %>   

不要使用Html.Checkbox,因为这会为列表中的每个项目生成两个值(因为它使用隐藏输入作为错误值)

【讨论】:

  • 我收到错误,因为无法将 ViewData 转换为通用列表 (List)...为什么要这样做?
【解决方案2】:

我最近写了一篇关于在 MVC Beta 中实现 CheckBoxList 助手的博客。 Here is the link.

【讨论】:

    【解决方案3】:

    我有自己的 CheckListBox 实现,它支持 ModelState。 如果您有兴趣,请联系 Un CheckBoxList que funciona en ASP.NET MVC。这篇文章是西班牙文的,但阅读代码应该不会有任何问题。

    Jeremiah 解决方案的有趣之处在于您可以设置复选框的初始状态,而我的 CheckListBox 无法做到这一点。

    【讨论】:

      【解决方案4】:

      我建议使用上面发布的 JeremiahClark 扩展。 (CheckBoxList)

      我的控制器产生了非常简单的指令。为了澄清,我添加了示例中不存在的代码片段。

              var rolesList = new List<CheckBoxListInfo>();
              foreach (var role in Roles.GetAllRoles())
              {
                  rolesList.Add(new CheckBoxListInfo(role, role, Roles.IsUserInRole(user.UserName, role)));
              }
              ViewData["roles"] = listaRoles;
      

      在视图中:

      <div><%= Html.CheckBoxList("roles", ViewData["roles"]) %></div>
      

      就是这样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-22
        • 1970-01-01
        • 2015-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多