我是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?
}
答案 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