2010-07-30 127 views
4

如果您有具有许多用户的角色和角色的用户的情况。使用MVC有直接绑定到模型的简单方法吗?如果您的用户类具有角色列表,并且角色类具有用户列表。多对多ASP.NET MVC绑定

谢谢。

+0

当你说mvc时,你可能会想到mvc使用的orm,所以如果你可以指定你自己的话会有帮助:linq to sql,entity framework或者nhibernate? – Marko 2010-08-02 21:27:04

+0

我实际上试图使用CTP实体从这个斯科特古谈他在这里的帖子:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with- entity-framework-4.aspx – 2010-08-03 13:27:54

+0

描述你想要解决的问题。模型绑定是相当自动的,但根据场景,深层对象图的绑定可能会变得棘手。 – nkirkes 2011-01-05 17:11:32

回答

1

MVC中的模型绑定相当强大。您必须记住命名约定很重要,尤其是当您开始尝试绑定集合时。绑定到一个集合,你必须命名你的表单字段name="Model.Roles[]"(其中模型是用户;这将取决于你的视图被强制输入到你的用户对象;相应地改变)的效果。括号表示将一组信息发送回服务器。如果您想要定位该集合中的某个特定点,可能是针对该点上的某个特定属性,那么您可能会使用类似name="Model.Roles[x].Id的其中x是集合中的有效索引。需要花费一些努力来确保您拥有这些正确的信息,并且我的方法几乎总是降级为将自定义信息收集发送回服务器,并在保存有问题的实体之前手动创建操作方法中的关系。

Phil Haack has a post about binding to a collection,虽然从2008年开始。但它仍然相关,可能会让您更深入地了解模型绑定行为。