ASP.NET中MVC传递数据的形式有哪些
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,本篇内容主要讲解"ASP.NET中MVC传递数据的形式有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ASP.NET中MVC传递数据的形式有哪些"吧!
千家信息网最后更新 2025年11月18日ASP.NET中MVC传递数据的形式有哪些
本篇内容主要讲解"ASP.NET中MVC传递数据的形式有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"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中使用下面代码取值:
<%= Html.DropDownList("Country", ViewData["Countries"] as SelectList) %> <%: Html.ValidationMessageFor(model => model.Country) %>
上面代码使用as将它转换成SelectList。
处理POST代码如下:
[HttpPost]public ActionResult ViewDataWay(int id, FormCollection collection){ Book book = bookRepository.GetBook(id); UpdateModel(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取值的代码如下:
<%= Html.DropDownList("Country", TempData["Countries"] as SelectList) %> <%: Html.ValidationMessageFor(model => model.Country) %>
效果:第一种方式一样。
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中MVC传递数据的形式有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
代码
方式
数据
形式
内容
效果
方法
学习
实用
更深
兴趣
实用性
实际
控制器
操作简单
智能
更多
朋友
篇文章
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苏州交易软件开发团队
山东大数据软件开发机构
网络安全八条纪律
广州建新公司软件开发
笔记本可以外接服务器吗
手机软件开发笔记本
终端访问服务器
如何应对未成年人网络安全
工会网络安全宣传周活动大家谈
万方学位论文数据库
华科网络安全考研多少分
tbc 数据库 bis
科大讯飞服务器与虚拟机怎样交互
网络安全文明快板
南京山丘网络技术
在通常情况下什么不是数据库对象
周口国企软件开发
与网络技术相关的单词
软件开发费计算什么科目
南京思瀚网络技术科技怎么样
软件开发项目助理试用期总结
信息网络技术发展的特点
免费服务器账号密码大全
软件开发的营业执照
江苏服务器阵列卡服务器
公安局招聘网络安全人才吗
奉贤区特定软件开发服务密度
与网络安全有关的网站
delphi 数据库异常
服务器万兆网卡承受温度