【发布时间】:2015-01-10 01:21:48
【问题描述】:
我想要做的:是在动作名称后添加前缀,这样浏览器的url栏就可以看到了。
http://stackoverflow.com/ask
↓↓↓↓
http://stackoverflow.com/ask.mon
并且还想调用带有前缀的特定控制器。
http://stackoverflow.com/loginProcess.mon
如果像上面那样调用,那么可以调用下面的动作。
已更新:(记住,我不想在 url 栏上显示控制器的名称。)
public Class LoginController : Controller
{
public ActionResult loginProcess() {
return View();
}
}
.
.
我做了什么:像下面这样设置路由配置。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{action}.mon/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional }
);
}
控制器看起来像......
public class LoginController : Controller
{
public ActionResult Index()
{
if (Session["userInfo"] != null)
{
return RedirectToAction("Main", "Web");
}
else
{
return View();
}
}
.
.
.
发生了什么:引发 404 错误。
我应该怎么做才能避免这种情况?
【问题讨论】:
标签: c# asp.net-mvc routes asp.net-mvc-5