易截截图软件、单文件、免安装、纯绿色、仅160KB

学习ASP.NET + MVC(四)

一.摘要
  本文讲解在Action中向View传递Model的几种方式.以及View获取Model以后如何编写显示逻辑.还详细的介绍了ASP.NET MVC框架提供的Html Helper类的使用及如何为Html Helper类添加自定义扩展方法.
  二.承上启下
  上一篇文章中我们学习了Controller处理一次请求的全过程.在Controller的Action中, 会传递数据给View,还会通知View对象开始显示.所以Model是在Action中获取的, 并由Action传递给View. View对象接到Action通知后会使用自己的显示逻辑展示页面.
  三.传递数据给View
  在MVC中,Model对象是指包含了数据的模型. Controller将Model传递给View以后, View对象中不应该做任何的业务逻辑处理, 仅仅根据Model对象做一些显示逻辑的处理.
  传递Model对象时, 我们有两种选择:
  1.传递一个弱类型的集合, 即成员为object类型的集合,  在View中需要将每个成员转换成我们需要的类型,比如int, string,自定义类型等.
  2.传递强类型对象, 这些类型是我们自定义的. 在View中直接使用我们传递的强类型对象, 不需要再转换类型.
  如果让我们自己设计一个MVC框架, 我们也会想到上面两种实现方式,接下来看看在ASP.NET MVC中的实现.
  1.传递弱类型的集合
  (1) 如何传递
  ASP.NET MVC框架定义了ViewContext类, 直译后是"View上下文", 其中保存和View有关的所有数据, 其中Model对象也封装在了此类型中.
  ViewContext对象包含三个属性:
  IView View
  ViewDataDictionary ViewData
  TempDataDictionary TempData
  其中ViewData集合和TempData集合都是用来保存Model对象的.在一个Controller的Action中, 我们可以用如下方式为这两个集合赋值:
    /// <summary>
    /// 传递弱类型Model的Action示例
    /// </summary>
    /// <returns>ViewResult</returns>
    public ActionResult WeakTypedDemo()
    {
      ViewData["model"] = "Weak Type Data in ViewData";
      TempData["model"] = "Weak Type Data in TempData";
      return View("WeakTypedDemo");
    }
  在页面中, 是用如下方式使用这两个集合:
  <div>
    <% = ViewData["model"] %><br />
    <% = TempData["model"] %><br />
  </div>
  (2)


相关文档:

JS重置按钮脚本,支持重置ASP.NET控件

开发中经常遇到要重置控件值得操作,下面写了常用HTML控件的重置方法。不完整的,大家可以扩充
function ResetControl() {
            var v = document.forms[0].elements;
            for (var i = ......

ASP.Net用户验证的实现

在Web程序中,我们知道,服务器端和IE客户端不是常连的,只有访问时才连接,一旦页面加载完后,这个连接就会断开,也就是说,访问页面A后,再访问页面B时,服务器端是不知道你已经访问过页面A了,甚至对于同一个页面,服务器端也不会去记录你的访问,每次都会重新实例话访问的页面。
这就带来一个问题,如果实现我访问了Lo ......

ASP.NET MVC 入门6、TempData

ASP.NET
MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在
ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET
MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session来存储临时数据的,TempData中存放的 ......

Asp.net架构回顾(转载)


ASP.NET是由微软在.NET Framework中所提供的,开发Web应用程序的类库,封装在System.Web.dll文件中,显露出System.Web命名空间,并提供ASP.NET网页处理、扩充以及HTTP通道的应用程序与通信处理等工作,以及Web
Service的基础架构。ASP.NET是ASP技术的后继者,但它的发展性要比ASP技术要强大许多。
ASP.NET可以运行在安 ......

数据交换学习二:asp.net C# 对 sqlserver表的操作

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号