1

我是 MVC 4 的新手,正在学习 MVC 4 代码库。在 Microsoft 的音乐商店教程中,我通过右键单击控制器中的方法并选择添加视图来添加视图。

这让我知道哪个视图与哪个控制器相关联。

但是在代码库中,有一个文件名为homecontroller.csw/ 一个名为“index”的方法,它返回一个视图。如何判断该方法返回的视图是什么?

    [Authorize]
    public ActionResult Index(bool preserveShowFor = false)
    {
        if (User.IsInRole("..."))
        {
            return View(new HomeViewModel...); //how do I know what view this returns?
        }
4

5 回答 5

4

默认情况下,MVC 会查找与操作结果同名的视图,在本例中为 Index

您可以通过返回 this 来手动指定它

new View("MyViewName", new HomeViewModel())
于 2013-06-18T15:48:59.707 回答
2

您的代码将返回的视图是索引之一。该视图位于名为 Home 的子文件夹中。

如果未指定视图,则返回与操作同名的视图。

于 2013-06-18T15:48:16.667 回答
0

在这种情况下,它将寻找一个名为 Index 的视图来匹配方法名称...... ASP.Net MVC 支持很多这样的约定,但是如果你真的想要,你可以显式地编写代码......

于 2013-06-18T15:48:42.090 回答
0

右键单击方法内部,然后单击“转到查看”。它应该位于名为 Home 的视图下的文件夹中。

您还可以传递显式视图

于 2013-06-18T15:49:39.697 回答
0

约定是它将检查 Views 下与您的控制器同名的文件夹以及您的操作名称。

所以在这种情况下, Views/Home/Index.aspx

于 2013-06-18T15:50:55.147 回答