我在重新路由某些链接时遇到了一些麻烦。
我正在更新网站,并希望使用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'
我的问题:
有没有办法让我看到哈希后的数字是什么?