ASP.Net MVC网址设计&结构指南

时间:2011-12-10 13:55:21

标签: asp.net-mvc url-rewriting asp.net-mvc-routing

我想获得一些关于为我们的网络应用设计网址的专家建议。这不是一个公共域名网站,它是一个基于供应链内联网的网络应用程序,仅由一组经过身份验证的用户使用。

以下是一些例子 -

/Claim/12/Manage
FORMAT: controller/{ID}/action

指向“声明条目”向导的网址。这里“12”是ClaimID。它进一步分为用于子数据输入的选项卡。 示例:/ Claim / 12 / Print,/ Claim / 12 / FileDetails,...

/Users/List
FORMAT: controller/action

显示Grid中现有用户的列表。这个缩写为“/ Users”?同样,我们还有其他一些实体,比如“角色,组织等......”

/Master/Manage/FileType
FORMAT: controller/action/{argument}

我们有一个页面,允许用户管理不同的主表数据。需要知道选择哪个主表(即作为参数发送)。是否更好地将其简化为“/ Manage / {argument}”,然后根据上面的要求映射该URL?

  • 在MVC中隐藏默认操作如“Claim / 21 / Manage”shud是“Claim / 21”,“/ Users / List”shud是“/ Users”......
  • 参数 - 它们更好地嵌入在url中,或者更好地作为查询字符串附加

任何通用指南或参考文献也都很棒。

参考:Web服务网址 - (部分:设计URI模板) http://msdn.microsoft.com/en-us/library/dd203052.aspx

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式来表示您拥有的各种路线。例如

protected void Application_Start()
{
RouteTable
.Routes
.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL template
new { controller="Mycontroller", action="Myaction", id=UrlParameter.Optional },
new { action = @"\d{2}-\d{2}-\d{4}" }
);
}

答案 1 :(得分:0)

好吧,我的结论是,这是我在MSDN上可以找到的最好的(也可能是最详细的)解释 - http://msdn.microsoft.com/en-us/library/dd203052.aspx

这种不足就足够了: - )