【问题标题】:Why does the default ASP.NET MVC 3 project not use controllers?为什么默认的 ASP.NET MVC 3 项目不使用控制器?
【发布时间】:2023-03-17 03:44:01
【问题描述】:


在创建一个新的 ASP.NET MVC 3 Razor 站点时,有 9 个 Account\*.cshtml 文件,这些文件似乎是在匿名代码块中的视图顶部插入控制器逻辑的视图。没有帐户控制器类。

这是为什么?据我了解,MVC 的好处是代码和表示的关注点分离。这是否意味着我应该删除所有现有文件并重新实现身份验证和授权层?

MS 会在其旗舰 Web 框架中提供“最糟糕的示例”,这似乎很奇怪。

谢谢,
贾罗德

编辑:我在 Visual Studio 中使用了错误的入口点来创建应用程序(请参阅下面的评论)。谢谢!

【问题讨论】:

  • 我正在使用 VS express 并且具有相同的设置。

标签: asp.net-mvc-3 razor


【解决方案1】:

嗯,您这边有些地方不太对劲。 我刚刚创建了一个新的 ASP.NET MVC3 Web 应用程序。 作为项目的一部分,我确实有一个带有适当 AccountController 的“Controllers”文件夹。

你在使用 Visual Studio 吗?

【讨论】:

    【解决方案2】:

    这是不正确的。这是 MVC3 Razor 入门应用程序中的默认文件夹结构:

    如您所见,~/Controllers 文件夹中有两个控制器。

    为了清楚起见,我启动了一个新的 VS2010 实例,创建了一个新的 MVC3 项目,选择“Internet 应用程序”和 Razor 作为视图引擎。

    【讨论】:

    • 谢谢!我在创建应用程序时使用了错误的入口点,并且没有向我提供您在此处显示的变体。我创建的是通过文件>新建>网站> ASP.NET网站(Razor),这是不正确的(实际上也不是MVC)。
    • 是的,它是一个 Web 应用程序项目,而不是一个网站。项目是预编译的,而网站则处于过时状态。您可以在任何类型的应用程序(甚至非 Web 应用程序)中使用 Razor 视图引擎,但您应该创建一个 MVC Web 应用程序以使用 MVC 基础架构。
    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 2016-08-23
    • 2010-12-15
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2015-12-05
    • 2012-12-25
    相关资源
    最近更新 更多