婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET中MVC傳遞數據的幾種形式總結

ASP.NET中MVC傳遞數據的幾種形式總結

熱門標簽:西寧電銷外呼系統公司 安陸市地圖標注app 辦公用地圖標注網點怎么操作 寧德防封版電銷卡 云南外呼系統代理 聊城智能電銷機器人電話 上海市三維地圖標注 海東防封電銷卡 南昌自動外呼系統線路

本文實例講述了ASP.NET中MVC傳遞數據的幾種形式。分享給大家供大家參考。具體如下:

在Asp.net mvc開發中,Controller需要向View提供Model,然后View將此Model渲染成HTML。這篇文章介紹三種由Controller向View傳遞數據的方式,實現一個DropDownList的顯示。

第一種:ViewData

ViewData是一個Dictionary。使用非常簡單,看下面代碼:

public ActionResult ViewDataWay(int id)
{
 Book book =bookRepository.GetBook(id);
 ViewData["Countries"] = new SelectList(PhoneValidator.Countries, book.Country);
 return View(book);
}

在View中使用下面代碼取值:

div class="editor-field">
    %= Html.DropDownList("Country", ViewData["Countries"] as SelectList) %>
    %: Html.ValidationMessageFor(model => model.Country) %>
/div>

上面代碼使用as將它轉換成SelectList。

處理POST代碼如下:

[HttpPost]
public ActionResult ViewDataWay(int id, FormCollection collection)
{
  Book book = bookRepository.GetBook(id);
  UpdateModelBook>(book);
  bookRepository.Save(book);
  return RedirectToAction("Details", new { id=id});
}

第二種:ViewModel

使用ViewModel的方式,我們先創建一個BookViewModel,代碼如下:

public class BookViewModel 
{ 
 public Book Book 
 { 
   get; 
   set; 
 } 
 public SelectList Countries
 {
   get;
   set;
 }
 public BookViewModel(Book book)
 {
   Book = book;
  Countries = new SelectList(PhoneValidator.Countries,book.Country);
 }
}

在控制器的Aciton使用ViewModel存放數據的代碼如下:

public ActionResult ViewModelWay(int id)
{
  Book book = bookRepository.GetBook(id);
  return View(new BookViewModel(book));
}

在View中,這種方式比第一種方式好在:它支持智能感應。

效果和第一種方式一樣。

第三種:TempData

使用TempData和使用ViewData方法是一樣的。

Action代碼如下:

public ActionResult TempDataWay(int id)
{
   Book book = bookRepository.GetBook(id);
   TempData["Countries"] = new SelectList(PhoneValidator.Countries, book.Country);
   return View(book);
}

View取值的代碼如下:

div class="editor-field">
  %= Html.DropDownList("Country", TempData["Countries"] as SelectList) %>
  %: Html.ValidationMessageFor(model => model.Country) %>
/div>

效果:第一種方式一樣。

TempData和ViewData的區別

做個簡單的測試看下看下TempData和ViewData的區別

public ActionResult Test1() 
{ 
  TempData["text"] = "1-2-3"; 
   ViewData["text"] = "1-2-3"; 
   return RedirectToAction("Test2"); 
}
public ActionResult Test2()
{
   string text1 = TempData["text"] as string;
  string text2 = ViewData["text"] as string;
   return View();
}

RedirectToAction跳轉Action后,ViewData的值已經被清空,而TempData沒有被清空,這是它們的區別之一。

希望本文所述對大家的asp.net程序設計有所幫助。

您可能感興趣的文章:
  • SpringMVC實現前端后臺交互傳遞數據
  • ASP.NET MVC從控制器傳遞數據到視圖的四種方式詳解
  • springMVC框架下JQuery傳遞并解析Json數據
  • Spring MVC 學習 之 - URL參數傳遞詳解
  • jsp 顯示springmvc modelmap傳遞的對象詳細介紹
  • SpringMVC框架下JQuery傳遞并解析Json格式的數據是如何實現的
  • Ruby on Rails中MVC結構的數據傳遞解析
  • ASP.NET中MVC從后臺控制器傳遞數據到前臺視圖的方式
  • 使用jQuery向asp.net Mvc傳遞復雜json數據-ModelBinder篇
  • MVC頁面之間參數傳遞解析

標簽:衢州 洛陽 崇左 南寧 贛州 平涼 青海 汕尾

巨人網絡通訊聲明:本文標題《ASP.NET中MVC傳遞數據的幾種形式總結》,本文關鍵詞  ASP.NET,中,MVC,傳遞,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中MVC傳遞數據的幾種形式總結》相關的同類信息!
  • 本頁收集關于ASP.NET中MVC傳遞數據的幾種形式總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 屏东县| 通海县| 百色市| 礼泉县| 清丰县| 济宁市| 嵊州市| 金门县| 乐昌市| 石首市| 凤庆县| 宁波市| 林周县| 阳新县| 区。| 苏尼特左旗| 贵港市| 石阡县| 全州县| 兰坪| 习水县| 隆林| 海安县| 新昌县| 嘉峪关市| 兰考县| 临西县| 五家渠市| 渝北区| 米泉市| 开化县| 托里县| 洛宁县| 九龙县| 乐清市| 丹东市| 紫云| 陈巴尔虎旗| 柯坪县| 寻乌县| 津市市|