在越来越史诗般的失败是我的创建和编辑窗体,我仍然有问题通过Html.Checkbox()生成复选框。我不知道现在是否应该手动编写HTML。MVC2复选框:仍有问题;或者:选择了什么与它有关?
我有一个视图模型:
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 }))); %>
但,他们根本不显示。
我很好奇为什么我需要为复选框本身提供一个布尔值。我认为它只是发回选中的值,作为一个类似于PHP的$ _POST的数组或列表。所以,我不知道我是否正确地实现了我的布尔属性,除了我正在犯的任何其他脑死亡错误。布尔值迫使我将我想要显示/绑定的数据隐藏得比我想要的还要多,而且这给了我'看到'我做错了什么的问题。
我不断感受到我对自己的问题的看法过于沉重,并试图让解决方案比应该更复杂。鉴于我对MVC2/C#的经验不足,我只是不确定该从哪里出发。这似乎并没有帮助,这似乎是表单处理的一部分,或者被大多数演示和教程掩盖或完全忽略。
所以,再次,任何帮助将不胜感激。