ASP.NET中MVC传递数据的形式有哪些
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容主要讲解"ASP.NET中MVC传递数据的形式有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ASP.NET中MVC传递数据的形式有哪些"吧!
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
东莞东信网络技术有限公司11
化工流程仿真软件开发
广西政国互联网科技有限公司
网络安全诈骗图片
软件开发系列教材
警察网络安全技术应用
华为服务器怎么进u盘
代理一个游戏服务器多少钱
广州三途网络技术有限公司
疫情下的心理健康和网络安全
中国未来网络技术有限公司
数据库 元
如皋软件开发培训
手机能用代理服务器吗
苏盐软件开发中心
电脑服务器主机用什么系统
河北玺喆互联网科技
dll动态数据库怎么建
各关系型数据库语言优缺点
工作室服务器虚拟机管理系统
如何修改数据库md5
软件开发的工作没有基础
网络安全应该注意事项有那些
ug数据库怎么加载
数据库安全警告怎么关闭
数据库基础六大范式
怎样与服务器建立安全的连接
江夏区国际网络安全维护代理品牌
中职 计算机网络技术 数量
黑客网络安全综艺