asp.net 4.0应用程序中需要ASP.NET URL路由帮助

时间:2012-06-25 10:43:22

标签: url-routing asp.net-4.0

我将在我的asp.net4.0应用程序中实现路由功能并遵循给定的链接:

URL-Routing

如果应用程序限制为no,则可以。页面,但我的应用程序有很多页面。 所以我必须编写代码[routes.MapPageRoute(“”,“”,“”); ] 多次。 我们可以通过循环遍历任何集合类或任何其他方法来映射所有页面。

由于

1 个答案:

答案 0 :(得分:1)

如果您的网址和文件结构具有标准模式,则您也可以使用映射网址中的占位符

例如。如果您可以将每个“{controller} / {action} / {id}”映射到“/ Pages / {controler} / {action} .aspx”

例如,我构建了一个具有此文件夹结构的网站

Project Folder Structure

在根文件夹下有Views文件夹,其中包含我的所有页面。 在Views文件夹下,每个“控制器”都有一个子文件夹(webforms中没有控制器,但我遵循MVC约定) 在控制器子文件夹下,有代表不同操作的aspx页面

每个控制器的aspx页面名称相同(“Index.aspx”,“Add.aspx”,“Edit.aspx”等)

所以我可以有一个通用的映射规则

routes.MapPageRoute("GeneralAction", "{controler}/{action}/{id}", "~/Views/{controler}/{action}.aspx");

只要文件夹结构遵循此模式

,我就不需要对不同页面使用不同的规则

现在

"/Patient/Add" will map to "~/Views/Patient/Add.aspx"
"/Incident/Add" will map to "~/Views/Incident/Add.aspx"
"/Patient/Edit/31" will map to "~/Views/Patient/Edit.aspx" (with id=31)

等,都符合上述规则。

当然,如果要覆盖此规则,可以在定义此规则之前定义更具体的路径。