我剛剛學習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