ASP.NET MVC路由扩展:路由映射
2012-03-26 11:39:19 来源:WEB开发网核心提示: 对于针对定义在某个Controller中的某个Action的请求,如果注册的路由表与之匹配,ASP.NET MVC路由扩展:路由映射(2),具体匹配的某个路由对象的GetRouteData被调用并返回一个具体的RouteData对象,根据对请求地址进行解析得到的目标Controller和Action的名称必须包含在该
对于针对定义在某个Controller中的某个Action的请求,如果注册的路由表与之匹配,具体匹配的某个路由对象的GetRouteData被调用并返回一个具体的RouteData对象。根据对请求地址进行解析得到的目标Controller和Action的名称必须包含在该RouteData的Values属性对应的RouteValueDictionary对象中,其对应的Key分别为controller和action。
二、 实例演示:注册路由映射与查看路由信息
ASP.NET MVC通过定义在RouteCollectionExtensions中的扩展方法MapRoute进行路由映射,为了让读者对此有一个深刻的认识,我们来进行一个简单的实例演示。我们依然沿用之前关于获取天气信息的场景,看看通过这种方式进行注册的Route对象针对匹配的HTTP请求返回怎样的RouteData对象。[源代码从这里下载]
我们在创建的ASP.NET Web应用(不是ASP.NET MVC应用)添加一个Web页面(Default.aspx),并按照之前的方式以内联代码的方式直接将RouteData的相关属性显示出来,页面主体部分的HTML如下所示。需要注意的是我们显示的RouteData是从定义的方法GetRouteData方法获取的,而不是对应于当前页面的RouteData属性。
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>Route:</td>
<td><%=GetRouteData().Route != null? GetRouteData().Route.GetType().FullName:"" %></td>
</tr>
<tr>
<td>RouteHandler:</td>
<td><%=GetRouteData().RouteHandler != null? GetRouteData().RouteHandler.GetType().FullName:"" %></td>
</tr>
<tr>
<td>Values:</td>
<td>
<ul>
<%foreach (var variable in GetRouteData().Values)
{%>
<li><%=variable.Key%>=<%=variable.Value%></li>
<% }%>
</ul>
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
- ››asp获取毫秒数
- ››asp.net报“INSERT INTO 语句的语法错误解决
更多精彩
赞助商链接