当前位置:中国站长下载文章中心网页编程.NET编程 → ASP.NET中实现模版的动态加载(2)

ASP.NET中实现模版的动态加载(2)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 8:43:50
     <%@ Control Language="VB" %>
  <FONT face="verdana" color="green" size="2"><b>ID: </b>
  <%# DataBinder.Eval(CType(Container, DataListItem).DataItem, "ID") %>
  <b>Name: </b>
  <%# DataBinder.Eval(CType(Container, DataListItem).DataItem, "Name") %>
  <br>
  <b>Address: </b>
  <%# DataBinder.Eval(CType(Container, DataListItem).DataItem, "Address") %>
  <p>
  </FONT>
  
    最后,我们开始创建应用程序,新建一个工程,添加两个按钮和一个datalist控件如下图
  
  [img]/article/UploadPic/2006-8/200681484350749.jpg[img]
  之后创建一个binddatagrid的方法,将dataset绑定到datalist控件中去,代码如下:
  private void BindDataGrid()
  {
   dtSet = DB.GetDataSet();
   DataList1.DataSource = dtSet.Tables[0].DefaultView;
   DataList1.DataBind();
  }
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {
    BindDataGrid();
   }
  }
    最后,分别为两个按钮的clcik事件添加代码,分别使用page.loadtemplate方法去加载我们已经写好的两套模版组中的模版,代码如下。
  private void Button1_Click(object sender, System.EventArgs e)
  {
   // Load templates
   DataList1.AlternatingItemTemplate =
   Page.LoadTemplate("AltItemTempate.ascx");
   DataList1.ItemTemplate =Page.LoadTemplate("ItemTemplate.ascx");
   DataList1.HeaderTemplate =Page.LoadTemplate("HeadTemplate.ascx");
   DataList1.FooterTemplate = Page.LoadTemplate("FootTemplate.ascx");
   BindDataGrid();
  }
  private void Button2_Click(object sender, System.EventArgs e)
  {
   // Load templates
   DataList1.AlternatingItemTemplate =Page.LoadTemplate("AltItemTempate2.ascx");
   DataList1.ItemTemplate = Page.LoadTemplate("ItemTemplate2.ascx");
   DataList1.HeaderTemplate = Page.LoadTemplate("HeadTemplate2.ascx");
   DataList1.FooterTemplate = Page.LoadTemplate("FootTemplate2.ascx");
   BindDataGrid();
  }
    运行效果如下两图,当点不同的按钮时,动态装载不同的模版风格。
  
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。