我怎么知道这个控制器将返回什么视图?

时间:2013-06-18 15:45:18

标签: .net asp.net-mvc asp.net-mvc-4

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

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

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

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

5 个答案:

答案 0 :(得分:4)

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

您可以通过返回此选项来手动指定

new View("MyViewName", new HomeViewModel())

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

您还可以传递显式视图

答案 4 :(得分:0)

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

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