5.1Url和Routes介绍

5.1Url和Routes介绍

关于Urls
-域名好记好拼写
-URL尽量短
-URL好输入 (&少用特殊字符)
-URL可以体现网站的结构 (逻辑结构)
-URL规律性强,用户可以自行猜测构造
-URL固定,并持久不变
以前的例子
http://example.com/products/list.aspx?id=123&catid=3333&page=3
URL和硬盘文件相关,
多数情况下,HTML模板,


ASP.NET MVC Routing介绍
-接受用户输入并指向Controller的Action
-把Controller的Action输出成URLs

Routing与URLRewriting技术的比较
1、
Rewriting还是可以看到
-/product/bolts.aspx
-/product/display.aspx?jproductid=123
Routing从根上解决问题
不会重写URL
2、ReWriting是单向的
Routing是双向的。

2011-4-15 23:43 danny
定义Routes
-Route URLs
routes.MapRoute("simple","{first}/{second}/{third}");


URL URL拆分结果
/product/display/123 {first}=product {second}=display {third}=123
/foo/bar/baz {first}=foo {second}=bar {third}=baz
/a.b/c-d/e-f {first}="a.b" {second}="c-d" {third}="e-f"

Controller Action id
routes.MapRoute( "Default", "{controller}/{action}/{id}");

2011-4-16 11:35 danny
`routes.IgnoreRoute`、`routes.MapPageRoute`和`routes.MapRoute`是在ASP.NET中用于定义和配置路由规则的方法。它们之间的区别如下: 1. `routes.IgnoreRoute`:这个方法用于忽略某些URL,让它们不被路由系统处理。通常用于忽略某些特定的静态文件或资源,如图片、CSS文件、JavaScript文件等。示例用法如下: ```csharp routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); ``` 上述示例中,我们忽略了以`.axd`为扩展名的资源文件。 2. `routes.MapPageRoute`:这个方法用于定义并注册ASP.NET Web Forms页面的路由规则。它将指定的URL模式映射到实际的物理文件,并可传递参数给目标页面。示例用法如下: ```csharp routes.MapPageRoute("ProductDetails", "products/{category}/{id}", "~/ProductDetails.aspx"); ``` 上述示例中,我们定义了一个名为"ProductDetails"的路由规则,将匹配形如`/products/electronics/123`的URL,并将请求路由到物理文件`ProductDetails.aspx`。其中,`{category}`和`{id}`是路由参数。 3. `routes.MapRoute`:这个方法用于定义并注册ASP.NET MVC控制器和动作方法的路由规则。它将指定的URL模式映射到相应的控制器和动作方法。示例用法如下: ```csharp routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); ``` 上述示例中,我们定义了一个名为"Default"的路由规则,将匹配形如`/Home/Index`的URL,并将请求路由到名为`HomeController`的控制器的`Index`动作方法。其中,`{controller}`、`{action}`和`{id}`是路由参数,`HomeController`和`Index`是默认值。 总结来说,`routes.IgnoreRoute`用于忽略某些URL,`routes.MapPageRoute`用于定义Web Forms页面的路由规则,而`routes.MapRoute`用于定义MVC控制器和动作方法的路由规则。它们各自适用于不同的场景和技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值