【问题标题】:mvc 3 update modelmvc 3 更新模型
【发布时间】:2011-02-24 16:22:43
【问题描述】:

我有一个显示表格中项目的多个复选框列表的视图(列表是动态的)。我需要知道当用户单击复选框时如何更新 ViewModel,以便当控件返回到控制器时,它可以检查 viewmodel 以确定哪些项目被选中。

VM 包含几个属性,例如

public IEnumerable<IFilterItem> Cities;

public Interface IFilterItem
{
   int ID { get; set; }
   string Name { get; set; }
   bool IsSelected { get; set; }
}

我需要帮助的是如何在复选框的 onclick 处理程序中设置视图的模型数据副本。一如既往地感谢你们,你们很棒!

【问题讨论】:

  • 好的,我已经阅读了更多内容,看来我可能必须编写自定义活页夹或在 javascript 中手动完成,因为默认活页夹会尝试将发布数据中的名称与属性匹配视图模型上的名称。由于我的列表是通过属性(Model.Filters.Cities 等)的属性提供的,我认为默认活页夹无法解决它。我们可以关闭这个问题,如果有必要我会发布另一个问题?

标签: javascript asp.net-mvc viewmodel


【解决方案1】:

你在使用 CheckBoxFor 助手吗?如果是这样,当控制权返回到控制器时,您的视图模型应该只根据复选框的状态设置 IsSelected。

【讨论】:

  • 其实我是在使用 ajax/jquery 来更新视图,但我确实尝试了你的建议,但模型没有得到更新。
  • 好的,我已经阅读了更多内容,看来我可能必须编写自定义活页夹或在 javascript 中手动完成,因为默认活页夹会尝试将发布数据中的名称与属性匹配视图模型上的名称。由于我的列表是作为属性的属性提供的,因此我认为默认绑定器无法解决它。
猜你喜欢
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 2012-02-10
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多