【发布时间】:2013-01-24 17:30:33
【问题描述】:
我正在尝试在 ASP.NET MVC 4 应用程序中设置登录表单。目前,我已经配置了我的视图,如下所示:
RouteConfig.cs
routes.MapRoute(
"DesktopLogin",
"{controller}/account/login",
new { controller = "My", action = "Login" }
);
MyController.cs
public ActionResult Login()
{
return View("~/Views/Account/Login.cshtml");
}
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model)
{
return View("~/Views/Account/Login.cshtml");
}
当我尝试在浏览器中访问 /account/login 时,我收到一条错误消息:
The current request for action 'Login' on controller type 'MyController' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult Login() on type MyApp.Web.Controllers.MyController
System.Web.Mvc.ActionResult Login(MyApp.Web.Models.LoginModel) on type MyApp.Web.Controllers.MyController
如何在 ASP.NET MVC 4 中设置基本表单?我查看了 ASP.NET MVC 4 中的示例 Internet 应用程序模板。但是,我似乎无法弄清楚路由是如何连接的。非常感谢您的帮助。
【问题讨论】:
-
您想通过自定义路线实现什么目标?你没有保留默认路由({controller}/{action}/{id})吗?默认路由应该可以正常工作。
-
@KevinJunghans - 如果你没有注意到,他的控制器名称与他的 url 不同
-
[ViewSettings(Minify = true)]是干什么用的?我找不到对此属性的任何引用。是你创造的吗?
标签: asp.net-mvc-4