作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的创建和编辑表单越来越严重的失败中,我仍然无法通过 Html.Checkbox() 生成复选框。我不确定此时是否应该手动编写 HTML。
我有一个 View 模型:
public class AdminGameReviewViewModel
{
public Game GameData { get; set; }
public List<Genre> AllGenres { get; set; }
public List<PlatformListing> AllPlatforms { get; set; }
}
public class PlatformListing
{
public Platform Platform { get; set; }
public bool IsSelected { get; set; }
}
<%: Html.Label("Platforms") %><br />
<% Model.AllPlatforms.ForEach(p => Html.Encode(Html.CheckBox("PlatformIDs", p.IsSelected, new { value = p.Platform.PlatformID }))); %>
最佳答案
问题是您没有向响应流写入任何内容。
Html.Checkbox() 返回一个字符串,它不直接写入响应对象(也不是 Html.Encode() - 只是转义保留字符并返回结果字符串)。最重要的是,ForEach 扩展方法只执行一个 Action ,它不返回一个值。
所以你必须放弃 ForEach 扩展,并使用 <%= %> 或 <%: %> 代码块:
<% foreach (var p in Model.AllPlatforms) { %>
<%= Html.CheckBox("PlatformIDs", p.IsSelected, new { value = p.Platform.PlatformID }) %>
<% } %>
关于asp.net-mvc-2 - MVC2 复选框 : Still having problems; Or: What does isSelected got to do with it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157277/
我是一名优秀的程序员,十分优秀!