我继承了一个ASP.NET MVC 3应用程序。我对MVC 3一无所知。我已经使用ASP.NET Web Forms了5年多。当我尝试从Visual Studio启动应用程序时,收到404.浏览器指向http://localhost/Account/Logon。我注意到在我的项目中,有:
我假设这是应该启动的。我在Global.asax.cs中设置了一个断点,发现我通过以下事件被重定向到这个页面:
void WSFederationAuthenticationModule_AuthorizationFailed(object sender, AuthorizationFailedEventArgs e)
{
e.RedirectToIdentityProvider = false;
HttpContext.Response.Redirect("/Account/Logon");
}
当我启动应用程序时,我得到了404.我完全失去了如何解决这个问题。我也不知道如何设置为起始页面"在MVC世界中。有人可以帮我克服这个障碍吗?我只想运行该应用程序。非常感谢你!
答案 0 :(得分:2)
如果你打电话
MVC,如果您在global.asax中没有更改路由,则正在寻找
名为“帐户”的控制器
此Controller中的方法“ LogOn ”。
如果你的ActionMethod“Account.LogOn”返回一个视图,MVC会查看观看/帐户/ 目录并尝试找到你登录查看。
更多信息:
希望这有帮助
答案 1 :(得分:1)
我假设这是应该发布的
不,你的假设是错误的。在ASP.NET MVC中,您永远不会直接访问视图。您始终会通过控制器操作,该操作会对模型执行某些处理并返回视图。
因此,当您请求/Account/Logon
(假设默认路由)时,Logon
上的AccountController
操作应该执行:
public class AccountController: Controller
{
public ActionResult Logon()
{
...
}
}
如果项目中不存在此类操作或控制器,您将获得404。
在继续继承项目之前,我强烈建议您通过以下部分教程熟悉ASP.NET MVC的基础知识:http://asp.net/mvc