我在尝试使用非常简单的ASP.Net应用程序开始使用.Net Framework 4和MVC 2时遇到了问题。
在Visual Studio 2010中按F5时,我收到以下错误消息HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时无法使用。请查看以下网址,确保拼写正确。
当我添加视图时,我通过右键单击控制器中的方法添加了视图,这当然添加了视图。我还注意到,当选择“转到视图”时,这也会在Visual Studio中引发错误,并说该视图不存在!此外,我已经转到Global.asax页面并将默认控制器更改为我添加的控制器,但这没有任何区别。
所以,请告诉我 - 但我需要改变吗?
答案 0 :(得分:2)
尝试转到/ControllerName/ActionName
。如果您更改了默认值,则必须确保拼写正确。另请注意,ASP.NET MVC Framework删除了控制器名称的“Controller”后缀。
如果您的新控制器被称为MyNewController
,它应该:
Controller
MyNewController
喜欢这个
public MyNewController : Controller {
public ActionsResult MyAction() {
return View();
}
}
在本案例的Global.asax.cs中,默认设置为:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "MyNew", action = "MyAction" }
);
请注意默认控制器设置缺少“Controller”后缀。
答案 1 :(得分:0)
要安装MVC,需要考虑一些注意事项。 我想你正试图在IIS 5或6上安装它
请阅读这篇文章 http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/ 或升级到IIS 7
答案 2 :(得分:0)
有类似的问题。我错误地修改了默认路线:
url: "{controller}/{action}/{id}",
对此:
url: "{controller}/{action}/{id*}",
将星号放在错误的位置会导致每个URL都给我一个404 - 而且通常ASP.Net路径几乎不可能调试。
解决方案是将星号放在适当的位置:
url: "{controller}/{action}/{*id}",
(这允许路由包含任意数量的正斜杠,而不是将它们限制为3.带星号的部分是一个捕获。)