MVC 3 View如何绑定到Controller Action

时间:2012-10-25 23:27:32

标签: asp.net-mvc-3 razor view controller

这更像是对MVC 3如何工作的“建筑理解”。我真的想知道MVC如何知道调用给定控制器动作的视图。我猜想当我们使用Visual Studio为控制器动作创建视图时,它会将这些绑定存储在项目的某种文件中,是吗?

提前致谢。 Marcelo Myara 里约热内卢/巴西

1 个答案:

答案 0 :(得分:2)

使用"Convention over Configuration"的想法完成了。

如果您使用没有视图的随机操作,您可以看到它实际上尝试了一堆不同的约定,寻找匹配:

public ActionResult SomeActionWithNoView()
{
    return View();
}

它会查找与 Views / ControllerName Views / Shared 文件夹。

  

未找到视图'SomeActionWithNoView'或其主视图或视图引擎不支持搜索的位置。搜索了以下位置:

     

〜/查看/主页/ SomeActionWithNoView.aspx

     

〜/查看/主页/ SomeActionWithNoView.ascx

     

〜/查看/共享/ SomeActionWithNoView.aspx

     

〜/查看/共享/ SomeActionWithNoView.ascx

     

〜/查看/主页/ SomeActionWithNoView.cshtml

     

〜/查看/主页/ SomeActionWithNoView.vbhtml

     

〜/查看/共享/ SomeActionWithNoView.cshtml

     

〜/查看/共享/ SomeActionWithNoView.vbhtml


可以使用 / Views 根目录中的 _ViewStart.cshtml 设置默认视图布局:

@{
    Layout = "~/Views/Shared/MyDefaultLayout.cshtml";
}

可以在各个视图中根据需要删除或更改它。