簡體   English   中英

Asp.net MVC2 URL結構-最佳做法

[英]Asp.net MVC2 URL structure - best practices

在asp.net MVC2中設置具有多個接口的項目的最佳實踐是什么? 我正在開始一個項目,我們需要一個典型的安排,例如:

example.com/-最終用戶界面

example.com/Admin/-網站管理

該網站將足夠參與,只需在HomeController中擁有所有用戶邏輯,並且AdminController中的所有管理邏輯都不是真正的選項。 我已經閱讀了有關使用多個Route定義的信息,但以下內容似乎無法正常工作:

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

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

這會使主頁上的所有鏈接都指向example.com/Admin/local-part而不是example.com/local-part。

我想避免為每個管理控制器指定不同的MapRoute(每次都從映射中省略{controller})。

我還讀過有關在項目中設置不同區域的信息,但對於該項目的范圍來說似乎太過復雜了。

最后,我還讀到可以在MapRoutes上設置約束,但是那部分的文檔對我來說似乎很混亂。 有什么明顯的我想念的東西嗎? 如果沒有,我應該記住關於asp.net結構的最佳實踐嗎?

聽起來像Area已經准備好了你想要做的事情。 設置一個區域實際上並不是所有涉及的,基本上你只需要注冊它。 默認情況下,區域路由將與global.asax中的默認路由匹配,但URL中多余的“ \\ area”子段除外。 我相當肯定,幾個月前,當我在一個項目上設置它時,我只花了幾分鍾。

如果您的管理控制器復雜到足以超出單個控制器的范圍,那么表明可能需要保證區域。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM