`
baobeituping
  • 浏览: 1041363 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

视图模式/视图->视图包

    博客分类:
  • .NET
阅读更多

ASP.NET MVC(自V1起)就支持一个带控制器和视图的ViewData[]字典,让程序员可以用一种后期绑定的方式从控制器往视图传值。这种方法能用来替代强类型模型类或与之一起使用。下面的代码演示一个常见的例子——一个强类型Product模型通过ViewData[]字典传给视图和两个后期绑定的变量:

clip_image004

在ASP.NET MVC3中,我们引入一个新API,它利用.NET 4中的动态类型支持来设置、返回这些值。它允许你使用标准的“句点”符号来制定需要传输的任何数量的额外变量,而且不需要你定义一个强类型类来实现。

在早前的ASP.NET MVC3的预览版中,我们通过控制器基类中命名为“ViewModel”的动态属性和视图模板中的“View”属性来暴露这个API。 很多人发现这两个不同的名字容易混淆,有些人还说在这个地方使用ViewModel这个名字让人容易混淆——因为你常常在ASP.NET MVC中会创建强类型视图模型(ViewModel)类,而不会不使用这个API。

在RC2中我们在控制器和视图中都暴露了一个同名的动态属性——ViewBag。它是一个动态集合,允许你从控制器传入额外的数据到你的视图模板来帮助生成响应。 下面是一个示例,用来说明我们如何使用它传输一个时间戳信息和一列目录到我们的视图模板:

clip_image005

下面的示例,展示我们的视图模板(强类型,期望返回一个Product类做为它的模型)如何使用我们往Viewbag中传入的信息来生成响应。特别的是,注意我们是如何使用传入动态Viewbag集的一列目录来帮助我们设置Product对象的CategoryID属性的。

clip_image006

上面的控制器/视图绑定然后会生成一个HTML response,如下。

clip_image007

分享到:
评论

相关推荐

    Spring MVC 入门实例

    21 <property name="helloManager" ref="helloManager" /> 22 --> 23 </bean> 24 25 </beans> 它配置了以下功能: 配置 InternalResourceViewResolver, 它是 jsp 渲染模板的处理器. 如果你告诉 ...

    VC/MFC文档-视图-框架体系编程实例

    给出了关于VC/MFC文档-视图-框架体系的编程实例,详细介绍了VC/MFC文档编程,视图编程,窗口静态切分和动态切分,多文档和单文档程序设计,包含了(30个实例),资源的实例均从光盘中拷出来的,能够正常运行

    Spring-mvc,例题

    -- 视图解析器,经返回的逻辑视图解析为物理视图 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> ...

    立贴/卧贴/夹板 TYPE-C的封装库 (带3D视图)

    立贴/卧贴/夹板 TYPE-C的封装库 (带3D视图),TYPE-C24pin标准 端子连接器.PcbLib,Altium Designer 3D PCB library

    立贴/卧贴/夹板/穿板 TYPE-C USB3.1封装库 (带3D视图)

    立贴/卧贴/夹板 TYPE-C的封装库 (带3D视图),新增穿板、防漏模型,Altium Designer 3D PCB library

    MVS多视图三维重建-传统体素(集合)

    MVS多视图三维重建--传统体素(集合) MVS多视图三维重建--传统体素(集合) MVS多视图三维重建--传统体素(集合)MVS多视图三维重建--传统体素(集合) MVS多视图三维重建--传统体素(集合) MVS多视图三维重建--...

    DBHelper

    你可以在DBHelper程序中使用查询分析器中的添加、删除、修改表、存储过程、函数、视图功能.<br/><br/> 3.你可以使用DBHelper根据表、视图来生成C#或VB.NET类代码.<br/><br/> 4.你可以使用DBHelper根据表、视图自动...

    MVS多视图三维重建 -基于体素的学习方法(合集)

    MVS多视图三维重建 --基于体素的学习方法(合集) MVS多视图三维重建 --基于体素的学习方法(合集) MVS多视图三维重建 --基于体素的学习方法(合集) MVS多视图三维重建 --基于体素的学习方法(合集) MVS多视图三...

    My-Calendar-Service:MyCalendarService是一款肥皂类JAX-WS Web服务,具有一年一月的工作日视图

    MyCalendarService MyCalendarService是一款具有年份/月份/工作日视图的肥皂类JAX-WS Web服务 使用参数调用URL: 参数参数=... t = J->年视图/ t = M->月视图/ t = W->工作日 在此处查看实现的详细信息(无Web服务):

    MVS多视图三维重建-基于学习的立体匹配(合集)

    MVS多视图三维重建--基于学习的立体匹配(合集) MVS多视图三维重建--基于学习的立体匹配(合集 MVS多视图三维重建--基于学习的立体匹配(合集) MVS多视图三维重建--基于学习的立体匹配(合集) MVS多视图三维重建-...

    MVS多视图三维重建-深度图融合滤波方法(合集)

    MVS多视图三维重建--深度图融合滤波方法(合集) MVS多视图三维重建--深度图融合滤波方法(合集) MVS多视图三维重建--深度图融合滤波方法(合集) MVS多视图三维重建--深度图融合滤波方法(合集) MVS多视图三维...

    MVS多视图三维重建-传统深度图的MVS(合集)

    MVS多视图三维重建--传统深度图的MVS(合集) MVS多视图三维重建--传统深度图的MVS(合集) MVS多视图三维重建--传统深度图的MVS(合集) MVS多视图三维重建--传统深度图的MVS(合集) MVS多视图三维重建--传统深度...

    VS2010 运行速度加快方法

    对于禁用数据库一项 工具-> 选项-> 文本编辑器-> c/c++ 高级-> 禁用数据库 的值设为true 特别要注意的是如果禁用了这个选项,你的类视图和资源视图将不起作用,所以这个选项如果你不在乎那个文件的大小可以不关闭。...

    微信小程序日历组件,支持农历日期显示,月份视图和周...wx-calendar-master.zip

    微信小程序日历组件,支持农历日期显示,月份视图和周...wx-calendar-master.zip

    MVS多视图三维重建-可变形多边形网格(基于表面演化)(合集)

    MVS多视图三维重建--可变形多边形网格(基于表面演化)(合集) MVS多视图三维重建--可变形多边形网格(基于表面演化)(合集) MVS多视图三维重建--可变形多边形网格(基于表面演化)(合集) MVS多视图三维重建--...

    spring_MVC源码

    14. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 15. 16. <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> 17. 18. p:prefix="/WEB-...

    Medical-Records

    GET /user/login login->呈现登录视图 POST /user/login ->用户登录 GET /user/logout >将用户注销并重定向到/login路由 GET /user/profile profile->渲染配置文件页面 POST /user/profile/upload >将文件上传到...

    小程序开发基础之view视图容器

    本文介绍了小程序开发基础之view视图容器,分享给大家,具体如下: 视图容器 // wxml <view class=section> <view class=section__title>flex-direction: row</view> <view class=flex-wrp_one> ...

    iOS6开发指南视频源码ppt-视图控制器与导航模式.rar

    3-模态视图-上 视图控制器与导航模式- 4-模态视图-下 视图控制器与导航模式- 5-平铺导航介绍 视图控制器与导航模式- 6-分屏导航实现 视图控制器与导航模式- 7-分页导航实现-上 视图控制器与导航模式- 8-分页导航实现...

    asp.net实现从Txt文件读取数据到数据视图的方法

    本文实例讲述了asp.net实现从Txt文件读取数据到数据视图的.../// <returns>返回一个数据视图</returns> public static DataView GetDataFromTxt(string strTxtPath) { string strLine = ; DataRow row; try { Da

Global site tag (gtag.js) - Google Analytics