知识大全 在Asp.net MVC中使用Repeater

Posted

篇首语:一身转战三千里,一剑曾百万师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Asp.net MVC中使用Repeater相关的知识,希望对你有一定的参考价值。

在Asp.net MVC中使用Repeater  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   Repeater需要手动去绑定数据 意思是说我们要在View当中写 服务端代码 先从ViewData中取得数据 再去绑定到Repeater     如果一个页面用到n+ 个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                    /// <summary>            /// ViewData中的键名            /// </summary>            public string Key get; set;

  /// <summary>            /// 得到ViewPage对象            /// </summary>            protected ViewPage ViewPage                            get return base Page as ViewPage;            

  /// <summary>            /// 重写Onload事件 用于绑定数据            /// </summary>            /// <param name= e ></param>            protected override void OnLoad(EventArgs e)                            this DataSource = this ViewPage ViewData[this Key]; //得到数据源                this DataBind();    //绑定 这样就不用手动写N个绑定了

  base OnLoad(e);                       

  上面的代码做了什么

   添加了一个公共属性 Key 表示这个Repeater要绑定 ViewData 中哪一项数据     添加了一个保护属性 ViewPage 指向了当前的 Page 对象 并强制转换成 Mvc 的 ViewPage对象 (因为我们要得到ViewData或其它Mvc相关的上下文信息)    重写了 OnLoad 事件 重写这个事件 用来绑定数据 免得我们需要在View中手动绑定每一个Repeater 那多烦啊     现在我们的目的已经达到了 看看怎么使用吧

  控制器代码

  public ActionResult Index()                            //来点测试数据                List<Models TestInfo> entities = new List<RepeaterInMvc Models TestInfo>();

  entities Add(new RepeaterInMvc Models TestInfo Id = Name = Kagilo Email = );                entities Add(new RepeaterInMvc Models TestInfo Id = Name = Kagilo Email = );                entities Add(new RepeaterInMvc Models TestInfo Id = Name = Kagilo Email = );                entities Add(new RepeaterInMvc Models TestInfo Id = Name = Kagilo Email = );                entities Add(new RepeaterInMvc Models TestInfo Id = Name = Kagilo Email = );

  ViewData[ TestList ] = entities;                return View();           

  再看看页面代码

  <%@ Register Assembly= RepeaterInMvc Namespace= RepeaterInMvc Codes TagPrefix= mvc %>

  <asp:Content ID= indexTitle ContentPlaceHolderID= TitleContent runat= server >        Home Page    </asp:Content>

  <asp:Content ID= indexContent ContentPlaceHolderID= MainContent runat= server >        <h >Repeater示例</h >        <p>            <mvc:MvcRepeater Key= TestList runat= server >                <ItemTemplate>                    <div ><%# Eval( Id ) %> <%# Eval( Name ) %> <%# Eval( Email ) %></div>                </ItemTemplate>                <AlternatingItemTemplate>                    <div ><%# Eval( Id ) %> <%# Eval( Name ) %> <%# Eval( Email ) %></div>                </AlternatingItemTemplate>            </mvc:MvcRepeater>        </p>    </asp:Content>

cha138/Article/program/net/201311/13005

相关参考

知识大全 ASP.NET程序中用Repeater实现分页

ASP.NET程序中用Repeater实现分页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一

知识大全 asp.net Repeater 数据绑定的具体实现

asp.netRepeater数据绑定的具体实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 asp.net中mvc使用ajax提交参数的匹配问题解决探讨

本文为大家介绍下使用javaScript解决aspnet中mvc使用ajax提交参数的匹配问题遇到类似情况的朋友可以参考下希望对大家有所帮助 想到在aspnet的mvc中如果使用ajax向服

知识大全 Asp.net MVC 中Ajax的使用

Asp.netMVC中Ajax的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  MVC抛弃了

知识大全 Asp.net MVC中页面标题的新解决方法

Asp.netMVC中页面标题的新解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在MV

知识大全 浅谈ASP.NET MVC中TempData的实现机制

浅谈ASP.NETMVC中TempData的实现机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Asp.net Mvc Pv4中使用AjaxHelper

Asp.netMvcPv4中使用AjaxHelper  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET MVC框架中的URL路径选择场景

ASP.NETMVC框架中的URL路径选择场景  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  A

知识大全 在ASP.NET里 MVC框架添加AJAX支持

在ASP.NET里MVC框架添加AJAX支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一引言&

知识大全 在Azure云中部署支持MVC的ASP.NET程序

在Azure云中部署支持MVC的ASP.NET程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!