Asp.net mvc 2 ASP MVC复选框选中状态绑定到渲染时的值

Asp.net mvc 2 ASP MVC复选框选中状态绑定到渲染时的值,asp.net-mvc-2,Asp.net Mvc 2,我是MVC新手。除了页面加载时复选框未设置为模型中对象的值之外,我的所有操作都很好。我确实错过了一些简单的东西——希望你能指出给我看 我将ViewModel类用于视图,因此我的视图页面包含以下代码: <%: Html.CheckBox("IsX", Model.Contact.IsX) %> 我一直在寻找可用的重载,但就是不知道我需要在那里放什么 非常感谢您的帮助 蒂姆。愚蠢的问题,你是否从动作中返回viewmodel 乙二醇 此外,在我的代码中,我使用以下语法: <%:

我是MVC新手。除了页面加载时复选框未设置为模型中对象的值之外,我的所有操作都很好。我确实错过了一些简单的东西——希望你能指出给我看

我将ViewModel类用于视图,因此我的视图页面包含以下代码:

<%: Html.CheckBox("IsX", Model.Contact.IsX) %>

我一直在寻找可用的重载,但就是不知道我需要在那里放什么

非常感谢您的帮助


蒂姆。

愚蠢的问题,你是否从动作中返回viewmodel

乙二醇

此外,在我的代码中,我使用以下语法:

<%: Html.CheckBoxFor((x) => x.CheckboxPropertyOnModelName) %>
x.CheckboxPropertyOnModelName)%%>
  • 它是强类型的,它自己处理命名等

  • 使用好的问题-是:public ActionResult编辑(int-id){Contact-Contact=repo.GetContact(id);返回视图(new-ContactFormViewModel(Contact));}我的其他Html控件完成了它们的工作-例如,我的SelectList的呈现具有正确的选定值…使用了替代语法-对此进行了尝试(我更熟悉VB中的Lambdas,但认为在C#中应该是正确的)。进一步的测试表明,这种新的方式没有正确绑定(不会在发布时更新)。这很可能是因为要绑定的属性不在我的LINQ类中,而是相对于其他属性定义的复合属性。因此,你有什么进一步的想法吗?你能在你的模型上给出这个领域的细节吗?按照我的理解,MVC创建了模型的一个新实例,它们将发布的数据映射到模型上同名的属性——因此,如果模型有一个getter而没有setter,它将无法正确映射。要测试这是否是我的语法造成的,或者是模型有问题,请尝试获取两个字段的HTML(一个现在可用,一个不可用),并用HTML硬编码它们。看看当你把表格寄回来时会发生什么-我猜你会得到与现在相同的结果,表明模型问题。谢谢你回复我。我有getter和setter,我可以通过上面的语法进行获取和设置(只是它不会在页面加载时呈现值-因此我希望在checkbox方法上重载)。get方法根据联系人对象的id查询数据库是否存在特定记录,并返回true或false。集合根据值创建或销毁此类记录。干杯
    <%: Html.CheckBoxFor((x) => x.CheckboxPropertyOnModelName) %>