2010-05-02 142 views
0

我是一名MVC新手。我试图让我的网址看起来像这样:ASP.NET MVC的URL /路由问题

/企业/用户/编辑/ 1
/企业/存储/编辑/ 17
/企业/联系人/编辑/ 17
/商店/联系人/创建
/存储/产品/编辑/ 29

很像纯香草的网址,除了与前面的用户类型。我遇到了很多重复控制器名称等问题。

有没有简单的方法来做到这一点?我简单地看了一下“地区”,但这似乎很复杂。

回答

1

你可以试试:

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

然后

public ActionResult LogIn(string userType) 
{ 
    return View(); 
} 

public ActionResult LogIn() 
{ 
    var userType = RouteData.Values["userType"]; 
    return View(); 
} 

在需要的地方或定义BaseController:

public class BaseController : Controller 
{ 
    private string _userType; 

    public BaseController() 
    { 
     _userType = RouteData.Values["userType"]; 
    } 
}