欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【在ASP.NET 2.0中建立站点导航层次(5)】,下面是详细的分享!
在ASP.NET 2.0中建立站点导航层次(5)
URL映射
URL映射特性利用web.config中存储的配置信息把收到的请求重映射(remap)到不同的URL。重映射发生在对请求的所有其它处理操作之前。下面的例子演示的是重映射一个页面请求,实际上任意文件类型都可以把请求重映射到不同的URL。
定义重映射URL
URL映射的配置信息存储在web.config中。元素中嵌套的每个元素为重映射进入站点的(inbound)url定义了一条规则。url属性定义了进入站点的url的exact(原样)属性,URL映射特性会试图用它进行匹配操作。如果exact匹配操作发生了,就会给进入站点的URL重新写入mappedUrl属性值。请注意,这个特性不支持更高级的规则(例如基于通配符和正则表达式的匹配)。
示例web.config为大量的url定义了映射规则。示例使用的web.sitemap文件定义的大量带有URL值的节点都会被重映射。其结果是,URL映射和站点导航的组合使用,使得开发者可以用友好的url来定义导航结构,并使用URL映射把请求重新写到不同的页面来执行实际的处理过程。
当你运行示例的时候,请注意Menu和Treeview控件是如何根据web.sitemap文件中定义的站点结构来显示导航数据的。如果你把鼠标停留在Treeview控件或右上角的SiteMapPath控件的链接上方,状态栏中显示的url是一个友好的url链接。当你点击任何导航链接的时候,实际运行的页面是Default.aspx。但是,Menu、Treeview和SiteMapPath控件中的导航信息仍然反映为友好的URL结构。
在页面的底部你还可以看到Request.Path、Request.QueryString["category"]和Request.RawUrl返回的值。Request.Path和Request.QueryString["category"]返回的值一直反映重映射进入站点的url的结果。但是,Request.RawUrl的值反映了重映射之前的友好的url。当站点导航特性试图把url信息与sitemap文件包含的数据进行匹配的时候,它会使用Request.RawUrl。如果匹配的值没有找到,XmlSiteMapProvider就把Request.Path作为替代者。在例子中,所有的友好url在web.sitemap文件中都有条目,因此使用站点导航的控件一直根据友好的url来显示和引用节点。
以下是引用片段:
<?xml version="1.0" ?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<urlMappings enabled="true">
<add url="~/Category.aspx" mappedUrl="~/Default.aspx?category=default" />
<add url="~/Autos.aspx" mappedUrl="~/Default.aspx?category=autos" />
<add url="~/Games.aspx" mappedUrl="~/Default.aspx?category=games" />
<add url="~/Health.aspx" mappedUrl="~/Default.aspx?category=health" />
<add url="~/News.aspx" mappedUrl="~/Default.aspx?category=news" />
</urlMappings>
</system.web>
</configuration>
以上所分享的是关于在ASP.NET 2.0中建立站点导航层次(5),下面是编辑为你推荐的有价值的用户互动:
相关问题:ASP.NET 问题,求高手解答
答:方法1、这个错误是由于没有设置网站的虚拟目录,最有效的解决办法是在IIS中把网站直接配置成站点 方法:在IIS里,点击你源码的虚拟目录,右键-》属性-》应用程序名-》创建 即:web.config要在站点的根目录下 如果是在VS中按F5出现这个错误,... >>详细
相关问题:求这份ASP网站制作理论试卷文档的答案。
答:看了你的题了,给你回答到下面。 1-6:C、C、B、C、D、A 1:(1)分析项目的要求,建立数据库。 (2)定义一个站点。 (3)建立静态网页。 (4)建立数据源。 (5)建立数据链接。 (6)建立数据集。 (7)在网页中添加服务器端行为。 2:最简单的Web应用程序... >>详细
相关问题:安装.net.2.0的问题
答:查看文章 安装.NET Framework 2.0碰到的问题 2009年02月06日 星期五 上午 11:36 今天安装完Microsoft .NET Framework 2.0 (x86) 多国语言版之后想测试一下网站,谁知道在浏览的时候出现了这样的文字,Server Application Unavailable The web appl... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
