0

我想学习在vs11 beta 专业版上使用mvc4

  1. 我创建了一个 ASP.NET MVC 4 WEB 应用程序
  2. 我选择空模板
  3. 我创建了一个名为 c1 的控制器

    Namespace MvcApplication3
       Public Class c1
          Inherits System.Web.Mvc.Controller
    
        '
        ' GET: /c1
    
        Function Index() As ActionResult
            Return View()
        End Function
    
    
        Function Hello() As String
            Return "Hello"
        End Function
    
       End Class
    End Namespace
    
  4. 我运行应用程序并在浏览器 URL 中写入“http://localhost:49653/c1/hello”,但出现此错误:

“/”应用程序中的服务器错误。

无法找到该资源。说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/c1/hello


版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.17379

我究竟做错了什么??为什么它不工作?

4

2 回答 2

3

由于DefaultControllerFactory它不足以继承,System.Web.Mvc.Controller但您的控制器名称必须以“控制器”一词结尾(这是一个内置约定)

将您的重命名c1c1Controller,它应该可以工作:

Public Class c1Controller
      Inherits System.Web.Mvc.Controller
于 2012-06-02T09:12:08.023 回答
0

有几件事要检查:

  1. 确保您的路由已设置(看起来您正在使用 /Controller/Action 的默认值) - 看这里 http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp -net-mvc-routing-overview-vb
  2. 如果您使用的是较旧的操作系统,您可能需要添加通配符无扩展映射 - IIS 6 上的 ASP.NET MVC - 通配符映射 - 传入请求与任何路由都不匹配
于 2012-06-02T09:06:21.653 回答