Asp.net mvc View視圖

         Controller是處理用戶請求,並作出響應,響應一般以瀏覽器頁面的形式展現給用戶,因此需要HTML代碼按照你的設計美觀大方的呈現給用戶,於是乎用戶界面設計UI層View出現了(HTML有文本,控件,圖像等)。

方法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。


轉載請標明出處 http://blog.csdn.net/jasonhds/ 版權所有,翻版必究~謝謝合作!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章