2011-06-28 58 views
0

我正在盯着習慣MVC,經過幾個小小的學習項目,我現在已經準備好大吃一口了。mvc3:建議控制器結構

我正在尋找像這樣的結構。
/管理/指數
/管理/用戶/製作:閱讀:更新:刪除:列表
/管理/新聞/製作:閱讀:更新:刪除:列表

鑑於過去兩年,我想我應該有控制器
聯繫
ADMINUSER
AdminNews

...那我應該有存儲在這些文件夾視圖
/瀏覽/管理
/瀏覽/ A dmin /用戶
/Views/Admin/News

上述聲音是否正常?

最後,我如何設置這些路線來擊中這些控制器?

我試過這樣的東西沒有用。

routes.MapRoute(
    "Admin/User", // Route name 
    "/Admin/{controller}/{action}/{id}", // URL with parameters 
    new {controller = "AdminUser", action = "Index", id = UrlParameter.Optional} // Parameter defaults 
    ); 

回答

1

我正在盯着習慣MVC,經過幾個小小的學習項目,我現在已經準備好接受更大的咬合了。

如果你開始學習asp.net mvc,並試圖實現管理面板,我會建議「Areas」。看看Walkthrough: Organizing an ASP.NET MVC Application using Areas

+0

非常感謝您的信息和鏈接。我下載了示例解決方案,這正是我所需要的。 –

0

您還可以使用管理部分的區域。

1

我會用地區的功能。

見此情景:

  • 聯繫
  • ADMINUSER
  • AdminNews

使我認爲,你可以添加一個管理員面積並有在該區域下面單獨的控制器。然後你的網址將/管理員/用戶和/管理/新聞等

1

我同意,可能需要考慮的領域,因爲它是管理類型區域的理想選擇,並有大量的例子在網絡中。

但是,如果你不走那條路線,那麼有點回答你的問題。

首先。意見將在文件夾中:

Views/Admin 
Views/AdminUser 
Views/AdminNew 

二。該路線僅需要是項目 i中首次設置的默認路線。e

{controller}/{action}/{id} 

其中該操作將是從Admin,AdminUser和AdminNew控制器公開的方法。

有你提到你可以做類似的路由:新聞

routes.MapRoute(
"AdminUser", 
/Admin/User/{action},{id}, 
new {controller = "AdminUser", action = "Index", id = UrlParameter.Optional} 
); 

並且同樣。對於管理員,我相信默認路線會抓住這一點。

希望有所幫助。