logo

关于 利用 ASP.NET3.5(ASP.NET4.0) 的路由功能创建搜索引擎友好的 URL 的评论:

评论日期:2011年07月20日 16:57:37 评论人:a157147899
为什么通过路由功能 映射到的页面  图片地址 和 CSS样式 等地址 都会不对,
都多了一个前缀  就是 global里配置的Url规则
评论日期:2011年07月21日 23:28:48 评论人:本站管理员
这个得看看代码测试下才能知道咋回事,前面多了什么?
评论日期:2011年07月22日 12:32:56 评论人:a157147899
这是我在Global里定义的映射规则:
  routes.Add("ArticleRoute", new Route
        (
           "{ArticleGuid}/{Action}.aspx",
                new ArticleRouteHandler()
        )
        );

这是ArticleRouteHandler()类里判断Action代码:
string action = (requestContext.RouteData.Values["Action"] as string).ToLower();
        if (action.Equals("read"))
            return BuildManager.CreateInstanceFromVirtualPath("~/newDetail.aspx", typeof(Page)) as Page;

这是在新闻列表绑定href的代码:
<li><a href='<%#Eval("Id")%>/read.aspx'><%#Eval("Title")%></a></li>

在新闻列表页面能跳到新闻详细页面也就是上面的("~/newDetail.aspx")
但是转到新闻详细页面后,页面上的图片路径都会多了一个前缀,就是 Global里配置的Url映射规则。
这是多出来的前缀:
http://localhost:2793/B2B/107/Images/11.gif(其中/107就是多出来的,也就是在A标签里绑定的Id)

PS:这两个页面都是在根目录下。
发表评论:(由于众所周知的原因,评论需要审核后才能显示,请勿重复发评论。谢谢!!)
标题:
用户名:
内容:
验证码: 请输入右边图像中的文字。验证码