Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 ADO.NET JavaScript LINQ AjaxPro DataGridView 面向对象 Extjs GridView XML DevExpress HTML教程 Oracle jQuery 分页 GDI+ Visual C++2010 MySQL Office2010 WPF MVC Dojo WCF4.0 VB.NET Sql2005 textbox cookie WCF WinForm Discuz!NT SQL经典语句 T-SQL checkbox ASPxGridView F# asp.net SQL VS2008新特性 DropDownList Access TreeView Ajax VS2008 页面执行时间 Flex 字符串 回调 VB2005 DataSet C#时间 ASP.NET性能优化 用户在线检测 动画
当前位置: 主页 > Mvc技术 >

在Asp.net MVC中使用Repeater控件

时间:2010-08-15 22:06来源:未知 作者:admin 点击:

. Repeater需要手动去绑定数据。 意思是说我们要在View当中写 服务端代码,先从ViewData中取得数据,再去绑定到Repeater。

2. 如果一个页面用到n+1个Repeater,那会不会疯掉? 而且要给每一个Repeater指定 Id,必去绑数据,头痛啊!!!
那么~~ 可不可以让Repeater用起来简单点呢? 来对Repeater进行一下改造,达到目的。

在Mvc当中,使用 ViewData 来传递数据,那可不可以直接让Repeater 绑定 ViewData 中的数据呢? 当然可以

看改造后的 Repeater 源码:
using ...System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.Mvc;
 
    namespace RepeaterInMvc.Codes
    ...{
        public class MvcRepeater : Repeater
        ...{
            ///
            /// ViewData中的键名
            ///
            public string Key ...{ get; set; }
 
            ///
            /// 得到ViewPage对象
            ///
            protected ViewPage ViewPage
            ...{
                get ...{ return base.Page as ViewPage; }
            }
 
            ///
            /// 重写Onload事件 用于绑定数据
            ///
            /// "e">
            protected override void OnLoad(EventArgs e)
            ...{
                this.DataSource = this.ViewPage.ViewData[this.Key]; //得到数据源
                this.DataBind();    //绑定 这样就不用手动写N个绑定了
 
                base.OnLoad(e);
 
    }
        }
    }

1. 添加了一个公共属性 Key ,表示这个Repeater要绑定 ViewData 中哪一项数据。

2. 添加了一个保护属性 ViewPage ,指向了当前的 Page 对象 并强制转换成 Mvc 的 ViewPage对象 (因为我们要得到ViewData或其它Mvc相关的上下文信息)

3. 重写了 OnLoad 事件,重写这个事件,用来绑定数据,免得我们需要在View中手动绑定每一个Repeater,那多烦啊。

现在我们的目的已经达到了。看看怎么使用吧:

(责任编辑:admin)

Tags:Repeater ASP.NET MVC
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价