在.Net 4.0之前我们为了做出搜索引擎友好的,对用户也友好的url都是需要自己实现Url重写,现在不需要了,.Net 4.0为我们做这一切。UrlRouting之所以称之为Routing是因为它不但实现了Url重写还可以通过参数得到重写后的Url在页面上使用。
1. Url Routing 的通常用法
UrlRouting在Asp.Net Mvc项目中被广泛使用,在Mvc中很好用,所以移植到了webform中,我们先看下在webform中的使用方式
假定一个使用场景:我们需要做博客每日文章的页面,我们希望的url地址是:/archive/2010/05/10/default.aspx
这个地址将被映射到~/posts.aspx文件上
要使用UrlRouting,需要将UrlRouting的规则注册到RouteTable中,如下Global文件中注册Routing规则的代码
以下为引用的内容: public static void RegisterRoutes(RouteCollection routes) routes.MapPageRoute("blogs", //给这个UrlRouting规则起一个名字 } void Application_Start(object sender, EventArgs e) |
2. 在页面中使用UrlRouting参数值
1) 在后台代码中使用Route的值
以下为引用的内容: protected void Page_Load(object sender, EventArgs e) |
2) 在页面上使用
以下为引用的内容: <asp:Literal ID="literalYear" runat="server" Text="<%$RouteValue:year %>"></asp:Literal> |
3) 在DataSource中使用RouteParameter
以下为引用的内容: <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestDb %>" |
4) 在页面上显示RouteUrl
以下为引用的内容: <a href='<%=GetRouteUrl("blogs",new {year=2010,month=05,date=05}) %>'>2010年5月1日的博客</a> |
3. UrlRouting和UrlRewrite的区别
UrlRouting相对于Url重写是一个比较新的事物,UrlRouting的长处是可以做双向转换,既可以做url重写,还可以根据一些参数获得重写后的Url地址,但是它也有自己的不足之处,比如说如果你想连域名一起重写,比如博客地址yukaizhao.cnblogs.com这样的重写,UrlRouting就做不到了,只能用UrlRewrite。
发表评论
-
GridView 72般绝技
2011-11-19 10:05 849GridView无代码分页排 ... -
ASP.NET 替换字符 防SQL注入
2011-11-19 10:06 901/// <summary> /// 处理字符 ... -
Server.HTMLEncode用法
2011-11-19 10:06 1280Server.HTMLEncode HTML ... -
web.config数据库连接
2011-11-19 10:06 1656Web.Config 配置文件里连接SQL数据库,主要有 ... -
ASP.NET日期处理函数
2011-11-19 10:06 13591、DateTime 数字型 System.DateTi ... -
GridView删除时弹出确认对话框
2011-11-18 11:17 925html代码 <table align=&quo ... -
ASP.NET获取不到js写的cookie解决方法
2011-11-18 11:15 1629今晚使用javascript设置一个来路的cookie, ... -
ASP.NET中JSON的序列化和反序列化
2011-11-18 11:09 988导读:JSON是专门为浏览器中的网页上运行的JavaSc ... -
ASP.NET Session丢失原因和应对策略
2011-11-18 11:07 853正常操作情况下会有A ... -
TextBox控件
2010-12-20 19:15 778SingleLine—显示单行输入栏. MultiLi ... -
asp.net消息提示框代码
2010-12-20 18:07 1332/// <summary> /// ... -
ASP.NET Request.QueryString[""] 的用法
2010-12-20 01:05 1667Request.QueryString是用来获取参 ... -
检测远程URL是否存在的三种方法
2010-06-07 12:35 794private void Page_Load(object s ... -
ASP.NET4.0 新功能之 ViewStateMode 属性
2010-06-07 12:34 1491ASP.NET4.0 提供了一个叫做 ViewStateMod ... -
ASP.NET 中得到网站绝对路径的几种方法
2010-06-07 12:32 2301在编写 ASP.NET 应用程序的时候,有时为了更好地进行控制 ... -
.net生成静态页面
2010-05-28 14:45 1101模板页moban.htm <html> < ... -
在服务器端使用StringBuilder 对Web控件进行验证
2010-05-28 14:40 880导入命名空间using System.Text; pri ... -
日历控件的事件
2010-05-13 17:07 744 DayRender:当日期被显示时触发该事件。 Sele ... -
判断字符串是否为数字的方法
2010-05-01 12:42 11781﹑使用Try...Catch pri ... -
连接SQL数据库字符串
2010-04-30 22:59 608Data Source=(local);Initial Cat ...
相关推荐
3. 示例代码文件:展示了如何在C#中实现URL重写逻辑,可能包括创建路由规则、定义路由约束等。 4. 说明文档或者示例页面:解释了如何使用这些源码以及可能遇到的问题。 为了实现URL重写和无扩展名URL重写,你需要做...
6. **路由(Routing)**:ASP.NET 4.0引入了URL路由功能,使得可以创建更加友好的、可自定义的URL,增强了用户体验和搜索引擎友好性。 7. **配置和部署**:ASP.NET 4.0提供了强大的配置管理工具,允许开发者在不...
这允许我们创建友好的、可自定义的URL结构。 5. **过滤器(Filters)**: 过滤器是MVC4.0中的一个强大特性,用于在控制器操作前后执行特定的逻辑,如授权、异常处理、日志记录等。过滤器可以通过`[Authorize]`、`...
4. **路由(Routing)**:ASP.NET MVC的路由系统允许开发者定义URL模式,使得URL更加语义化,同时也方便配置请求的处理方式。 5. **身份验证与授权(Authentication & Authorization)**:MvcMusicStore 4.0可能会...
2. **路由(Routing)**:定义了如何将URL映射到操作。默认情况下,ASP.NET Web API使用基于HTTP动词(GET、POST等)和URL路径的路由规则。 3. **模型绑定(Model Binding)**:自动将请求的数据与操作方法的参数...
4. **路由(Routing)**:ASP.NET MVC的路由系统允许自定义URL模式,使得URL更加用户友好且易于SEO优化。路由根据URL规则将请求映射到相应的控制器和动作。 5. **过滤器(Filters)**:过滤器是一种可重用的组件,...
控制器方法通常称为“动作”,它们可以通过路由系统与URL关联,实现URL到功能的映射。 4. **路由(Routing)**:ASP.NET MVC4.0的路由系统允许开发者自定义URL模式,使得URL更加语义化,提高用户体验。路由规则在...
3. **URL Routing**:通过Controller控制程序请求,并利用内置的URL Routing机制重写URL,实现更友好的URL结构。 4. **单元测试**:MVC框架支持单元测试,所有组件基于接口,便于模拟测试,提高开发效率。 5. **团队...
Authorization, and Security)、Ajax、路由(Routing)、NuGet包管理、*** Web API、依赖注入(Dependency Injection)、单元测试(Unit Testing)、MVC的扩展(Extending MVC)、高级主题(Advanced Topics)以及...
为了确保读者能够通过实践加深理解,书中还安排了一系列练习作业,从最基础的“Hello World”开始,逐步过渡到更复杂的概念,如Rails的Routing(路由)机制。路由机制是Web应用中一个非常核心的概念,它定义了不同的...
3. **`System.Web.Routing`命名空间**:在.NET Framework 4.0及以上版本中,引入了`System.Web.Routing`命名空间,提供了对URL路由的支持。开发者可以通过注册路由规则来实现URL重写。 4. **配置URL重写规则**:在`...
在ASP.NET中,可以使用`System.Web.Routing`库来实现URL路由。在Global.asax文件中,我们可以添加以下代码: ```csharp protected void Application_Start(object sender, EventArgs e) { RegisterRoutes...
- 合理地设计路由规则可以提高URL的友好性和可读性。 5. **身份验证与授权**: - 身份验证用于确认用户的身份,而授权则确定用户可以访问哪些资源。 - ASP.NET MVC提供了多种内置的身份验证和授权机制,如Forms ...
《TCP/IP v4.0 讲义》是一个深入解析TCP/IP协议族的教育资源,包含了DOC文档和PPT演示文稿,旨在帮助学习者理解和掌握网络通信的基础知识。这份讲义的特点是“简单明了”,适合初学者入门或者作为复习资料。 在TCP/...
3. **依赖注入容器**:Symfony 的依赖注入容器允许开发者明确声明服务及其依赖关系,从而实现松耦合和代码的可测试性。这使得配置和管理复杂应用的组件变得简单。 4. **模板引擎**:虽然“简单的模板功能”在描述中...
这可以通过使用ASP.NET的URL重写模块来实现。下面将详细介绍如何设置和使用URL重写来达成这个目标。 首先,我们需要了解ASP.NET URL重写的两个主要工具:`System.Web.Routing`类库和IIS URL重写模块。`System.Web....
首先,要实现ASP.NET的伪链接,我们需要对路由(Routing)进行配置。在Global.asax文件中,我们可以定义一个路由规则,例如: ```csharp void Application_Start(object sender, EventArgs e) { RouteTable.Routes...
URL重写能提供更友好的URL,同时有利于SEO,通过RouteTable类可以自定义路由规则。 10. **主题和皮肤(Themes and Skins)** 主题和皮肤允许全局改变网站的外观,通过更改主题文件,可以快速调整网站的整体风格。...
6. **路由(Routing)**: 路由在EXT MVC中用于处理URL和应用程序状态之间的映射。通过定义路由规则,可以实现页面间的导航和状态恢复。 7. **应用程序(Application)**: 整个EXT MVC应用是通过`Ext.application`...
在源码中,可能会看到使用接口和实现类的实例化,以及第三方DI库的使用,如Unity或Ninject,帮助解耦代码,提高可测试性和可扩展性。 **其他关键概念** - **验证(Validation)**:MVC2.0支持客户端和服务器端验证...