【问题标题】:Where is the mapping of a Controller to a View in ASP.NET MVCASP.NET MVC中控制器到视图的映射在哪里
【发布时间】:2013-11-27 14:50:57
【问题描述】:

我是 ASP.Net 编程的新手。 我创建了一个名为 TestController 的空 MVC 控制器,当我按照教程操作时,它说右键单击 Controller 的 Index 方法,然后单击 Add View。

视图已成功创建并打开页面

http://localhost:9993/Test

成功打开相关视图文件(Views->Test->Index.cshtml)

我的问题是代码中定义的将 View 与 Controller 相关联的映射到底在哪里?因为当我打开控制器时,它没有关于它与哪个视图文件相关的信息,反之亦然

【问题讨论】:

标签: asp.net asp.net-mvc


【解决方案1】:

RouteConfig.csApp_Start 文件夹)中,定义了您的路线。您可以在此处添加或自定义它们,以便在正确的控制器中执行正确的操作。

关于视图,它按约定工作:如果控制器命名为TestController,并且操作命名为Index,它将在Views\Test 文件夹中搜索Index.cshtml 视图(或Views\Shared,如果您希望跨多个控制器重用视图)

【讨论】:

  • 我赞成这个答案,但是,还应该注意的是,MS MVC 中使用的大多数“约定”都可以被覆盖。例如,在上面的示例中,Test 控制器中的 Index 操作也可以通过在操作的返回中指定该名称来返回具有其他名称的视图。它非常强大,因此非常复杂,需要一些时间来适应。
【解决方案2】:

默认情况下,ASP.NET MVC 在 Views 文件夹的 {controller} 子文件夹中搜索适当的视图,其中 {controller} 是没有单词“Controller”的 ASP.NET MVC 控制器类的名称,并且在 Views/Shared 文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2013-05-16
    • 1970-01-01
    • 2017-07-04
    • 2011-03-02
    • 2014-11-13
    • 1970-01-01
    相关资源
    最近更新 更多