MVC URL路由'#'错误

时间:2014-05-22 15:18:24

标签: c# asp.net-mvc url routing special-characters

我在重新路由某些链接时遇到了一些麻烦。

我正在更新网站,并希望使用MVC 4将旧链接/书签重新路由到新文件位置。

我的错误:

旧系统的网址格式为“category.aspx#001234”。数字引用数据库中的帖子。只有当我在RouteConfig中读取此URL时,它才会在哈希后读取任何内容。

部分代码:

RouteConfig.cs

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapRoute(
            name: "temp",
            url: "{type}.aspx#{postnumber}",
            defaults: new { controller = "GetPost", action = "GetPostFromNo", type="", postnumber = UrlParameter.Optional });
}

GetPost.GetPostFromNo.cs

public ActionResult GetPostFromNo(string type, string postnumber)
    {
        var url = Server.HtmlEncode(type);
        url += " - ";
        url += Server.HtmlEncode(postnumber);

        return Content(url);
    }

输出:

如果我将哈希(category.aspx#001234)放在页面上,我会收到404.

但是如果我从我的代码和页面URL中删除哈希(category.aspx001234),我的输出就像我期望的那样......

'category - 001234'

我的问题:

有没有办法让我看到哈希后的数字是什么?

0 个答案:

没有答案
相关问题