【问题标题】:ASP .Net MVC, problem with checkboxes!ASP .Net MVC,复选框问题!
【发布时间】:2010-11-13 23:48:38
【问题描述】:

基本上我有一组从视图数据动态创建的复选框,如下所示:

<input type="checkbox" name="Calendars" value="<%= c.ID %>" /><%= c.Name %>

值是日历 ID。

我可以使用 FormsCollection 获取已恢复的复选框,虽然它很乱,但它可以工作!

(复选框助手似乎也有一个错误,它在复选框旁边呈现一个隐藏字段,这意味着 true 实际上返回为“true,false”!我可以解决这个问题,所以这不是问题,只是认为 Id提一下)

当尝试在编辑页面上连接复选框时出现问题!

我有一个可以有多个日历的日程表类,我想通过在编辑中检查日程表来显示日程表有哪些日历!

我的视图是强类型的,但 MVC 魔法无法映射它!

关于什么是最好的方法有什么想法吗??

我曾尝试在 ViewData 中传递日历 ID,并执行一些内联​​代码来检查相应的复选框,但这变得一团糟!

谢谢!!

更新:

完成了

s.ID == c.ID).Select(s => s).Count() > 0) ? “检查=检查”:“”%>

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您需要为每个复选框手动添加“选中”标签:

    <input type="checkbox" name="Calendars" value="<%= c.ID %>" checked="checked" /><%= c.Name %>
    

    【讨论】:

    • 谢谢!我把它复杂化了!
    【解决方案2】:

    您不需要&lt;input type="checkbox" - 使用Html.Checkbox()。它在复选框旁边呈现一个隐藏字段-但这不是错误。来自 ASP.NET MVC 源,InputExtensions.cs,第 201 行:

    // Render an additional <input type="hidden".../> for checkboxes. This
    // addresses scenarios where unchecked checkboxes are not sent in the request.
    // Sending a hidden input makes it possible to know that the checkbox was present
    // on the page when the request was submitted.
    

    使用这个:

    <%= Html.CheckBox("Calendars", c.ID) %>
    

    【讨论】:

      猜你喜欢
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 2011-04-19
      • 2013-02-15
      • 1970-01-01
      • 2012-06-16
      相关资源
      最近更新 更多