MVC學習二 Controller和View關係

2022-06-08 06:06:09 字數 2142 閱讀 4452

控制器(controller)主要是定義方法和載入檢視(view)

1.控制器中的action方法返回值的型別actionresult,string

2.控制器中action方法接收瀏覽器引數方式:

2.1.通過 url路由中配置的同名引數 --url: "//",//stu/del/1

public actionresult del01(int id)

2.2.通過 request.form/request.querystring

2.3.通過 formcollection 

public actionresult modify2(formcollection from)

2.4.通過 模型繫結 --view中所有空間的名稱必須和模型中屬性名一致,一般是post過來的才能接收

/// /// 3.2修改 - 執行修改

///

///

///

public actionresult modify(models.student model)//模型繫結:.netmvc框架會在呼叫action方法前,建立 引數model物件,並從請求報文中檢查看是否有與該物件屬性同名的 資料,如果有,則 設定給 該物件同名的屬性

檢視載入方式:

載入指定檢視-----------------------------------

public viewresult loadviewbyself()

控制器向view傳遞資料

1.控制器類物件建立檢視類物件,並把控制器類中的屬性viewbag、viewdata、tempdata、model值賦值給檢視類物件的屬性viewbag、viewdata、tempdata、model

1.1.使用者訪問乙個mvc應用程式 例如位址 home/index

1.2.伺服器通過路由表解析url,例項化對應的控制器類並呼叫action方法(index),返回actionresult物件。

1.3.actionresult物件的excuteresult方法就會建立對應的檢視類物件(index_cshtml),通過控制器物件中的viewbag、viewdata、tempdata、model屬性值賦值給view物件中對應的viewbag、viewdata、tempdata、model。

1.4.呼叫view物件中excute方法生成html

具體事例:

使用者請求 home/index

控制器類 home=new 控制器();

actionresult ar=home.index();

ar.excuteresult();--建立對應的檢視物件 index_cshtml view=new index_cshtml();

view.viewbag = home.viewbag;

view.viewdata = home.viewdata;

.....

view.excute();

2.viewbag、viewdata在檢視類物件中互相共享的

3.model是viewdata的model屬性

public viewresult transdata()

;viewdata.model = modelclass;//return view(modelclass)就是把modelclass賦值給控制器物件viewdata屬性的model屬性

return view();

}

views

@viewbag.gzitcast 

@viewdata["hnitcast"]

@viewbag.hnitcast

@viewdata["gzitcast"]

@tempdata["usaitcast"]

@model.cname

@viewdata.model.cname

Fiori2 0學習筆記 controller

fiori是乙個mvc架構的模型,其中vc是關係緊密的兩個部分,view負責顯示頁面,controller負責對頁面的一些邏輯進行處理 首先繼承乙個sap.ui.core.mvc.controller的api 例項化乙個controller new sap.ui core mvc controlle...

MVC學習二 基礎語法

一 過載方法的呼叫 二 資料的傳遞 三 生成控制項 四 顯示載入檢視 五 強型別檢視 六 response.write 和 html.raw 區別 七 檢視中字串的輸入 八 模板頁 同乙個控制器內的同名方法呼叫,可以用httpget 和httppost區分。控制器向檢視傳遞資料的方法 1.viewb...

ExtJS學習 MVC模式案例(二)

veiwport代表整個瀏覽器顯示區域,該物件渲染到頁面的body區域,並會隨著瀏覽器顯示區域的大小自動改變,乙個頁面中只能有乙個viewport 例項。下面我們在view資料夾中建立viewport.js檔案,然後新增如下 1ext.define demo.view.viewport 26 在vi...