MVC 控制器向View傳值的三種方法(轉) C#


MVC 控制器向View傳值的三種方法(轉)

1.提供視圖模型對象

你能把一個對象作為View方法的參數傳遞給視圖.

1
2
3
4
5
public  ViewResult Index() 
DateTime date = DateTime.Now; 
return  View(date); 

  然后我們在視圖中使用Razor的Model關鍵字來訪問這個對象

@{  
ViewBag.Title = "Index";  
}  
<h2>Index</h2>  
The day is: @(((DateTime)Model).DayOfWeek) 

或者是

復制代碼
@model DateTime  
@{  
ViewBag.Title = "Index";  
}  
<h2>Index</h2>  
The day is: @Model.DayOfWeek  
復制代碼

2.使用ViewBag(視圖包)傳遞數據

View  Bag 允許在一個動態的對象上定義任意屬性,並在視圖中訪問它.這個動態的對象可以通過Controller.ViewBag屬性訪問它.

復制代碼
public ViewResult Index()  
{  
    ViewBag.Message = "Hello";  
    ViewBag.Date = DateTime.Now;  
    return View();  
}  
  
 @{  
 ViewBag.Title = "Index";  
 }  
 <h>Index</h>  
 The day is: @ViewBag.Date.DayOfWeek  
 <p />  
 The message is: @ViewBag.Message  
復制代碼

3. 使用View Data傳遞數據

MVC3.0之前,主要是通過這種方式傳遞數據,它是通過用 ViewDataDictionary類實現的,而不是動態的對象.ViewDataDictionary類是類似標准"鍵/值"集合,並通過

Controller類的ViewData屬性進行訪問的.這個方法,在視圖中需要對對象進行轉換.

復制代碼
控制器中:  
 public ViewResult Index()  
 {  
    ViewData["Message"] = "Hello";  
    ViewData["Date"] = DateTime.Now;  
    return View();  
 }  
  
視圖中:  
 @{  
 ViewBag.Title = "Index";  
 }  
 <h2>Index</h2>  
 The day is: @(((DateTime)ViewData["Date"]).DayOfWeek)  
 <p />  
 The message is: @ViewData["Message"]  


免責聲明!

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



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