3. URL路由

URL路由

原文 : http://quickstarts.asp.net/3-5-extensions/mvc/URLRouting.aspx

1. 介绍

2. 定义URL路由
URL路由包括一个URL模式定义,在模式定义中,"{}"定义占位符,"/"和"."分割各个字符串.
当URL请求字符串被URL模式解析时,占位符和具体的值组成"键值对".
一般,URL路由在Global.asax文件的 Application_Start方法中被定义.
示例代码:
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{

}

3. 为路由参数设置默认值.
若不设置默认值,则URL路由要求所有占位符都必须赋值才能匹配.
示例代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new Route("Category/{action}/{categoryName}", new CategoryRouteHandler())
{

}
);
}

4. 捕获未知数量的参数.
使用"*"通配符,如:"query/{queryname}/{*queryvalues}",
使用它可以匹配"/query/select/bikes/onsale", 则queryvalues = "bikes/onsale".

5. 为URL模式添加约束.
示例代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new Route("{locale}/{year}" , new ReportRouteHandler())
{

}
);
}

6. 使用URL路由信息创建链接.
示例代码:
HyperLink1.NavigateUrl = RouteTable.Routes.GetVirtualPath
(context,
new RouteValueDictionary {
{ "categoryName", "beverages" },
{"action", "summarize" }}
).VirtualPath;
将获得一个包含"Category/summarize/beverages"的超链接.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值