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安全错误
数据库的锁怎样保障安全
世界山茶属数据库
局域网服务器搭建虚拟机
天津服务器内存回收
吧鉴定网络安全绘画
数据库sql课程安排
网络安全小组360
数据库表结构设计软件
数据库的相关概念 描述正确的是
非全日制网络安全
河北一窗通服务器正在响应
淘宝账号收到爬取淘宝数据库
南宁麻将软件开发公司
轻量服务器哪家好
北邮网络安全学硕
用友u8安装完连接数据库
爱快路由数据库
网络安全化的装饰物
银川商场软件开发价格
个体开软件开发发票
有线网络安全的论文
水晶报表数据库字段
国内网络安全产业联盟
标识数据库元组的属性
网络安全实战渗透经验
医院年度网络安全工作
无线网络技术WIFI
2015+美国+网络安全法
世界技能大赛信息网络技术
网络安全不造谣
网络安全加固有哪些