那么~~ 可不可以让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);
&n9
7
3
1
2
3
4
8
:
本文来源:不详 作者:佚名