viewdata[「message_viewdata」] = 「 hello viewdata!」;
在view中讀取controller中定義的viewdata資料,**如下:
@html.encode(viewdata["message_viewdata"])
我們在controller中定義如下:viewbag.message_viewbag = 「 hello viewbag !」;
我們在controller中定義如下:tempdata[「message」] = 「hello word!」;
建立強型別的view以後,view的第一行**如下所示:@model test.models.hellomodel
就代表了這個view使用的model為「test.models.hellomodel」
然後在view中讀取model中定義的資料,**如下:@html.encode(model.name)
主要通過 傳送表單的方式來實現。具體的方式有:
@using (html.beginform("hellomodeltest", "home", formmethod.post))
控制器中
或者
[httppost]public
actionresult hellomodeltest(formcollection fc)
@*為了下面的submit可以post提交到eidt*@@using (html.beginform("edit", "testmovie", formmethod.post))
也可以@using (html.beginform())
控制器中
或者 public actionresult edit(moviedb moviedb) //
這個預設的模型繫結
return
view(moviedb);
}
當你的action方法是以乙個模型物件充當引數時,mvc執行時將會用模型繫結來構建該引數。
預設用於模型繫結的是 defaultmodelbinder,以上述的hellomodel為例,defaultmodelbinder將會檢索出所有可用的hellomodel屬性用於繫結模型。
根據命名約定,defaultmodelbinder能夠自動地在請求中獲取相應的值來填充hellomodel物件(它還能建立乙個物件的例項來填充)
換句話說:假設hellomodel有乙個name屬性,那麼模型繫結就會在請求中查詢名為name的引數。注意我說的是在「請求中」,而不是「表單集合」中。
模型繫結會在請求中的各個方面進行值查詢,這裡面包括路由資料,查詢字串,表單集合。有必要的話你還可以新增自定義的值提供資訊。
模型繫結不並侷限於http post及複雜引數(如hellomodel),你完全可以傳入乙個原始的簡單引數:
public actionresult hellomodeltest( string name,string text)
// ….
在該場景中,模型繫結將會在請求中查詢名。
Razor與SPA,關於MVC View實現的思考
對於cshtml,從技術上講,完全是可以去掉cs,直接變成html的。如果走極端 我認為是極端 這個html應該是這樣的 1 頁面為純粹的html,只有容器和初步的布局 2 頁面初始化資料,如當前登陸者的上下文資訊,下拉列表的繫結資料,其它預設資料等,在頁面第一次load完畢後,通過ajax請求獲取...
WPF控制項(Control類 顏色與字型)
wpf控制項分類 控制項是與使用者互動的元素。控制項可以獲得焦點,能接受鍵盤或滑鼠的輸入。所有控制項的基類是system.windows.control類,這類包括一些基本功能 控制項包括兩個屬性background和foreground屬性,這兩個屬性使用brush物件。刷子物件的派生類包括sol...
View與Control間的資料互動
view與control間的資料互動 1.viewbag.name name1 2.viewdata vd view data 3.tempdata td temp data 4.model viewbag和viewdata只在當前的action中有效,生命週期和 view 相同 tempdata可...