2011-02-24 59 views
0

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

的VM包含一些属性,如

public IEnumerable<IFilterItem> Cities; 

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

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

+0

好的我已经阅读了一些这方面的内容,看起来我可能不得不编写一个自定义绑定或在javascript中手动执行它,因为默认绑定器尝试将发布数据中的名称与视图模型上的属性名称进行匹配。由于我的列表是通过属性(Model.Filters.Cities等)提供的,我认为默认联编程序无法解决它。我们可以关闭这个问题吗?如果有必要,我会再发布一个问题 – StuTheDog 2011-02-25 23:25:15

回答

1

您是否使用CheckBoxFor帮手?如果是这样,当控制权返回给控制器时,您的视图模型应根据复选框的状态进行IsSelected设置。

+0

其实我使用ajax/jquery更新视图,但我确实尝试了你的建议,模型没有更新。 – StuTheDog 2011-02-24 19:05:42

+0

好的我已经阅读了一些这方面的内容,看起来我可能不得不编写一个自定义绑定或在javascript中手动执行它,因为默认绑定器会尝试将发布数据中的名称与视图模型上的属性名称进行匹配。由于我的列表是作为属性的属性提供的,我认为默认联编程序无法解决它。 – StuTheDog 2011-02-25 23:23:20