(四)ASP.NET MVC 中 Controller 给 View 传递数据的方式

1. ViewData: 以 ViewData["keyname"] = value 这样键值对的方式进行数据传送。在对应的 cshtml 中用 @ViewData["keyname"] 来获取值。

2. ViewBag: ViewBag 是 dynamic 类型的,是对 ViewData 的一人动态类型封装,用起来更方便,和 ViewData 共同操作一个数据 。在 Controller 中使用 ViewBag.keyname=value 来赋值,在 cshtml 中使用 @ViewBag.keyname 来获取值。如果 ViewData["name"] = "test", 则在 cshtml 文件中,可以使用 @ViewData["name"] 和 @ViewBag.name两种方式来获取值,因为 ViewData 和 ViewBag 共同操作一个数据。同理,如果 ViewBag.name = "test", 在 cshtml 中也可以用这两种方式。用 ViewBag传递数据非常方便,但是因为ASP.NET MVC 中的 HTML 辅助类等对于 ViewBag 有一些特殊约定(http://www.cnblogs.com/rupeng/p/5138575.html),所以尽量不要用 ViewBag,而是使用 Model。

3. Model:可以在 Controller 中通过 return View(model)赋值,然后在 cshtml 中通过 @Model 来访问这个对象。如果在 cshtml 中通过 “@model 类型" 指定类型,则 cshtml 中的Model 就是指定的强类型的,这样的 cshtml为“强类型视图”,如果没有指定 “@model 类型”,则 cshtml 中的 Model 就是 dynamic。例如一个类的为 WebApplication2.Models.TestModel, 则 “@model WebApplication2.Models.TestModel" 就表示 cshtml 中的Model 为 WebApplication2.Models命名空间下的 TestModel 类型。

时间: 2024-10-06 14:02:10

(四)ASP.NET MVC 中 Controller 给 View 传递数据的方式的相关文章

ASP.NET MVC2中Controller向View传递数据的三种方式

转自:http://www.cnblogs.com/zhuqil/archive/2010/08/03/Passing-Data-from-Controllers-to-View.html 在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML.这篇文章介绍三种由Controller向View传递数据的方式,实现一个DropDownList的显示. 第一种:ViewData ViewData是一个Dictionary.使用非常简

ASP.NET MVC中Controller与View之间的数据传递总结

在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: Ø Controller向View传递数据 Ø View向Controller传递数据 一.Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: ViewData[“Message”] = “Hello word!”; 然后在View中读取Controller中

ASP.NET MVC中Controller与View之间的数据传递

一.Controller向View传递数据 Controller向View传递数据有3种形式: 1.通过ViewData传递 在Controller里面定义ViewData,并且赋值,比如 ViewData["contact"] = contact; 然后在View里面读取Controller中定义的ViewData数据 比如联系人: <input type="text" value='<%=ViewData["contact"] %

Asp.net MVC中 Controller 与 View之间的数据传递

在ASP.NET MVC中,经常会在Controller与View之间传递数据 1.Controller向View中传递数据 (1)使用ViewData["user"] (2)使用ViewBag.user (3)使用TempData["user"] (4)使用Model(强类型) 区别: (1)ViewData与TempData方式是弱类型的方式传递数据,而使用Model传递数据是强类型的方式. (2)ViewData与TempData是完全不同的数据类型,View

MVC中Controller与View之间数据互传

转自:http://blog.csdn.net/sknice/article/details/42323791 在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一.Controller向View传递数据 1.使用ViewData传递数据 在Controller中定义如下: ViewData[“Message_ViewData”] = “ Hello ViewData!”; 在Vie

Asp.net mvc中controller与view间的如何传递数据

1.      Asp.net中的页面指令 无论是在java程序中还是在.net程序中,我们总是会看见一些@指令,那么这些常见指令的作用是什么呢? ?  @Page指令 只能在.aspx页中使用.如果在其他页面中使用会发生编译错误.比较常见的属性有: 1. Language 指出在编译内联代码块和页的<script>节中出现的所有代码时所使用的语言,默认的语言是Visual Basic .NET. 2. AutoEventWireup 指出是否启用页事件.默认为true. VS.NET开发的页

Asp.net MVC中Controller向View传值

一.使用Model 首先创建一个Model public class HelloModel { private string _name; private string _text; public string Name { get { return _name; } set { _name = value; } } public string Text { get { return _text; } set { _text = value; } } } 然后创建强类型的View视图,在View

asp.net mvc中Controller向View传值方式总结

http://www.cnblogs.com/gaopin/archive/2012/11/13/2767515.html http://www.cnblogs.com/a164266729/p/4917202.html //1.ViewData传递 ViewData是Key/Value对 ViewData["str1"] = "hello 1"; //ViewData.str2 = "world 2"; //2.ViewBag传递 动态 且是强

ASP.NET MVC3中Controller与View之间的数据传递总结

</pre>在ASP.NET MVC<span style="font-family:宋体">中,经常会在</span>Controller<span style="font-family:宋体">与</span>View<span style="font-family:宋体">之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨:&