我刚刚学习MVC,并且有一个问题,我确定对除了我之外的每个人都是显而易见的;-)。我正在使用EF4和DbContext的MVC3,并在理解大部分基本功能方面取得了很大的成功。这是我的问题:在MVC3中路由
可以说我有2个表(公司&用户)和它们之间的一对多关系(外键公司ID)。
我的问题是:什么是在MVC中强制执行一对多关系的最佳方式?我不希望任何公司的任何人编辑任何用户。我只希望公司X中的人员修改他们自己的用户。
我正在尝试在特定公司中创建新用户。我不想在用户视图中使用标准EF模板(它为您提供公司下拉列表,因为它是一个外键)。我想确保我在/ Company/123456之前可以从该公司内部创建用户。
我看了一下ASP.NET路由,看看是否可以这样: /Company/123456/User/Create/- 它看起来不像它。 (看起来像我只能有一个控制器/动作/ ID)。我只是不确定在创建新对象时如何“记住”我们目前在Company 123456中。
Querystrings? (/用户/创建/?公司= 123456)。我应该创建另一个班级(公司用户)吗?如果是这样,我不确定路由的外观(CompanyUser/Create/123456)?
在此先感谢您的建议。
迈克
谢谢!我会考虑使用你的解决方案! –
最后一个问题:这是在视图中引用它的正确方法吗? @ Html.ActionLink(“创建新用户”,Model.UserId +“/用户/创建”,空,新{@class =“btn”}) –
我认为最好的是使用这个重载:http:// msdn。 microsoft.com/en-us/library/dd504972.aspx。这会给你类似@ Htm.ActionLink(“创建新用户”,“创建”,“用户”,新{companyId = Model.CompanyId},新{@class =“btn”}) - 请注意,我把公司Id不同于userId – ivowiblo