从事MVC项目,我在重新路由我的网址时遇到了困难。 我现在拥有的是
http://dev.mywebsite.com/s/index?Key=abc123
然后运行索引操作并按照我的意愿完成 我希望能够输入
http://dev.mywebsite.com/s/abc123
并像往常一样运行索引操作
我目前有
routes.MapRoute(null, "s/index/{id}", new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
);
但我有点担心从哪里开始。任何帮助将不胜感激。 感谢
编辑:我的完整routeconfig类
routes.IgnoreRoute( “{}资源个.axd / {*} PATHINFO”); routes.IgnoreRoute( “站点/ {*} PATHINFO”);
routes.MapRoute(null, "s/index/{key}", new
{
controller = "S",
action = "Index",
key = UrlParameter.Optional
}
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Site", action = "Index", id = UrlParameter.Optional },
new[] { "Custom.Web.Controllers" }
);
}
在我的控制器中我将actionresult索引作为
public ActionResult Index(string Key)
{
return Redirect(workflow.RetrieveURL(Key));
}
答案 0 :(得分:1)
因此,在我们所有评论之后,解决方案是:
routes.MapRoute(null, "s/{Key}",
new {
controller = "Home",
action = "Index",
Key = UrlParameter.Optional
});
将此规则放在所有其他规则之前,以优先考虑