在ASP.Net MVC中为Controller接收404“缺少资源”错误

时间:2010-02-09 02:42:20

标签: asp.net asp.net-mvc

我正在使用ASP.Net MVC设计模式,当我向我的应用程序添加控制器时,我收到以下错误。我在Controllers文件夹中添加了名为EmailMeController.cs的控制器,所有内容都正确构建。我创建了一个指向/ EmailMe /的链接,但这不起作用。我之前在同一个站点添加了另一个控制器,没有任何问题。这是我的控制器的链接:http://pastebin.com/m373fae3b

希望你们能提供帮助。我当然很感激。

'/'应用程序中的服务器错误。 无法找到该资源。 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

请求的网址:/ EmailMe

版本信息:Microsoft .NET Framework版本:2.0.50727.4927; ASP.NET版本:2.0.50727.4927

4 个答案:

答案 0 :(得分:2)

控制器中唯一的索引操作是[AcceptVerbs(HttpVerbs.Post)]

您需要获取Get的索引操作:

public ViewResult Index()
{
    return View();
}

答案 1 :(得分:0)

你有它作为POST方法。你需要一个GET动作。

答案 2 :(得分:0)

使用同名的[HTTPGet]注释(MVC2)添加另一个ActionMethod。

之后,您仍然可以获得404,如果您使用的是Windows Server 2003或更早版本,请检查是否在Web应用程序中为通配符处理程序添加了asp.net dll。如果您使用的是2008,请确保您确实已定义了应用程序。我之前也挂了那些。

另一件要检查的是路线:

{controller}/{action}/{id}

如果您的方法包含id以外的参数,则可能不匹配。

答案 3 :(得分:0)

对我来说,我删除了HomeController和ValueController的默认视图,导致了这个问题。在我们创建应用程序后添加所有那些作为默认值的视图和控制器后我摆脱了错误。确保您具有这些默认视图和控制器。这个答案可能有所帮助。