方法1、代碼可以爲:
public ActionResult TestView()
{
return View();
}
在方法處右擊,選擇添加視圖:
方法2、也可以爲:
public ActionResult GetTestView()
{
return View("TestView");
}
提倡用方法1,因爲在添加視圖時候VS會自動將你Action方法名作爲視圖名字,這樣的自動在View下生成一個方法名的文件夾,裏面包含你視圖名字的cshtml的文件。A | explian:
1、Why View 會在Test的文件夾下?
MVC強調所有的View頁面的配置目錄均放在Views目錄的子目錄中且Views目錄下的第一層子目錄名字必須爲Conrroller的名稱,在該例中爲Test,同時View的頁面文檔名也必須爲Conrroller的名稱,擴展名字可以爲cshtml或者aspx,ascx(我僅僅嘗試了下cshtml,但其他2個道理應該一樣,有興趣可以嘗試下)。
2、View可被多個控制器重用,但前提你需要把這些文件放在Shared文件夾中。
3、在一個Action中可以引用多個View,而一個View可以被多個Action引用。如下代碼:
public ActionResult GetView()
{
if(#)
return View("MyView");
else
return View("Index");
}
4、View()方法就可以將頁面展現出現,那它肯定是一個封裝的接口,查閱一些相關資料後似乎明白一些潛在的邏輯關係,View函數用來創建ViewResult對象渲染一個視圖呈現給用戶(ViewResult創建了ViewPageActivator對象,選擇正確的ViewEngine後,將ViewPageActivator對象傳遞給ViewEngine的構造函數,ViewEngine創建View類的對象,ViewEngine在調用View的RenderView方法)。5、ActionResult是一個抽象類,ViewResult只是ActionResult的一個實現,如果你確認你返回的是一個視圖(view),你可以直接返回類型爲ViewResult。