ASP.NET中MVC传递数据的形式有哪些
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,本篇内容主要讲解"ASP.NET中MVC传递数据的形式有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ASP.NET中MVC传递数据的形式有哪些"吧!
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
麻将软件开发者
濒危野生动物保护数据库研究
上海全球软件开发大会主题
delphi更换数据库
神武端游最火服务器
美团网络安全高校挑战赛
日照戴尔服务器零售商
阿里云服务器系统
斗罗大陆H5什么服务器人少
上海启梦网络技术
工行软件开发工资待遇
鼎鸿阳互联网科技怎么样
食品网络安全监管现状
流量劫持是网络安全中常见的
加拿大的网络技术发展
易语言获取网页彩票数据库
长安区委网络安全会议
完整的三调数据库有那几个文件
吴中区木渎佳宏网络技术服务部
软件开发与数据库什么关系
物联网iot云平台软件开发
移动通信软件开发技术
江苏软件开发工资
浙江新闻网络安全
剑网3怎么连不上服务器
串口服务器哪个牌子比较好
为网络安全建言献策
可视化smt软件开发
网络安全基础要素
数据库人大