MVC 強類型視圖


一般我們在控制器的方法中用 ViewData["data"] 來保存數據,在前台頁面使用的時候需要轉型,這會很麻煩,而強類型視圖幫我們解決了這個問題。

如:

添加一個UserInfo.cs在Models中作為強類型的實體

將模擬數據在名為Show的Action中定義出來,並用ViewData傳遞到視圖中

如果要將顯示的數據調用(對象.屬性)出來,則必須要將ViewData轉換成強類型(UserInfo),所以我們在頁面上添加一個命名空間:

這樣很麻煩,每次都需要轉型,這里推薦用強類型試圖

將頁面第一行的ViewPage<dynamic>修改成強類型ViewPage<MvcUserDemo.Models.UserInfo> 。即可直接在頁面中通過Model調用Action中傳遞過來的對象。

 指定這個網頁只是供給User的   Model==User,可以通過Model 點來調用屬性

 

 

MVC還提供一種按照強類型自動生成視圖的功能。

  繼續創建視圖Show3,並如圖設置。

結果

%--此處為強類型通過Lamda表達式設置控件--%>

<%: Html.TextBoxFor(model=>model.Age) %>

<%--手寫字符串的方式設置控件--%>

<%: Html.TextBox("Age") %>  

結果是一樣的

 //控制器
public ActionResult GetUser() { ViewData.Model = dc.Users.First(); //獲取一個用戶 return View(); } public ActionResult GetUsers() { ViewData.Model = dc.Users.AsEnumerable(); //獲取多個數據,數據集 return View(); }

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MVCDemo.Models.Users>" %>    //單個用戶

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MVCDemo.Models.Users>>" %>     //多個用戶   可以用Foreach 循環 Model
<%--存的是什么類型這里給什么類型--%>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM