知识大全 ASP.NET中实现模版的动态加载

Posted

篇首语:富有臂力的人只能战胜一人;富有知识的人却所向无敌。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET中实现模版的动态加载相关的知识,希望对你有一定的参考价值。

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

  ASP NET中 经常会使用到templates(模版)功能 比如在datagrid datalist repeater等控件中 使用templates 将会大大增强其功能 以往 我们一般是在设计程序时 就已经设置好控件中的模版是怎样的了 但是 有的时候 可能我们需要动态加载模版 比如 当你要求你的应用程序的界面风格随着用户的需求而变化时 你就需要到动态加载模版的功能了 但要注意的是 并不是所有的web控件都支持模版功能 而且要注意 哪些控件支持模版的哪些功能 下面简单列出了一些支持模版功能的控件

  Repeater控件 支持的模版有

  HeaderTemplate FooterTemplate ItemTemplate AlternatingItemTemplate SeperatorTemplate

  Datelist控件 支持的模版有

  HeaderTemplate FooterTemplate ItemTemplate AlternatingItemTemplate SeparatorTemplate SelectedItemTemplate EditItemTemplate

  Datagrid控件 支持的模版有

  HeaderTemplate FooterTemplate ItemTemplate EditItemTemplate Pager

  下面 我将以动态加载datalist控件的模版来说明如何动态加载模版

  首先来了解动态加载模版的原理 在 NET中 有templatecontrol类 这个类是page和usercontrol类的基类 它也同时定义了page和usercontrol类的基本功能 该类提供了两个方法 loadcontrol和loadtemplate Loadcontrol方法装载来自外部文件的控件 并且返回usercontrol类对象 而loadtemplate方法加载来自外部文件的模版并且返回的是Itemplate对象

  Loadtemplate方法中 只有一个参数 参数值是外部模版文件的路径 并且返回itemplate对象 而datalist控件提供了一系列的属性 可以设置各种模版的属性 包括有AlternatingItemTemplate EditItemTemplate FooterTemplate HeaderTemplate ItemTemplate SelectedItemTemplate 和 SeperatorTemplate 在下文中 将会看到相关介绍

  接着 我们开始介绍例子 在示例程序中 是使用动态创建数据表和数据列的 并且将数据的创建封装到一个Db类中 好让读者进一步回顾如何动态创建数据表

  数据列等 并没用从数据库中提取(当然 你也可以用传统的读取数据库的方法)

  

  

  public class DB

  public DB()

  

  /// <summary>

  /// Method returns a DataSet object filled with data

  /// </summary>

  public static DataSet GetDataSet()

  

  //创建dataset和datatable

  DataSet ds = new DataSet();

  DataTable table = new DataTable( Records );

  DataColumn col;

  //增加一个列

  col = new DataColumn();

  col DataType = System Type GetType( System Int );

  col ColumnName = ID ;

  col ReadOnly = true;

  col Unique = true;

  table Columns Add(col);

  col = new DataColumn();

  col DataType = System Type GetType( System String );

  col ColumnName = Name ;

  col AutoIncrement = false;

  col Caption = Name ;

  col ReadOnly = false;

  col Unique = false;

  table Columns Add(col);

  col = new DataColumn();

  col DataType = System Type GetType( System String );

  col ColumnName = Address ;

  col AutoIncrement = false;

  col Caption = Address ;

  col ReadOnly = false;

  col Unique = false;

  table Columns Add(col);

  //增加一条记录

  DataRow row = table NewRow();

  row[ ID ] = ;

  row[ Name ] = Melanie Giard ;

  row[ Address ] = rd Street Park Road NY City NY ;

  table Rows Add(row);

  row = table NewRow();

  row[ ID ] = ;

  row[ Name ] = Puneet Nehra ;

  row[ Address ] = rd Blvd Ashok Vihar New Delhi ;

  table Rows Add(row);

  row = table NewRow();

  row[ ID ] = ;

  row[ Name ] = Raj Mehta ;

  row[ Address ] = Nagrath Chowk Jabalpur ;

  table Rows Add(row);

  row = table NewRow();

  row[ ID ] = ;

  row[ Name ] = Max Muller ;

  row[ Address ] = North Street Hernigton Russia ;

  table Rows Add(row);

  // Add DataTable to DataSet

  ds Tables Add(table);

  // Return DataSet

  return ds;

  

  接下来 我们首先创建若干个模版文件 我们先创建两组模版文件 每一组模版文件分别包含有header footer item alternating item四个模版文件 保存成 ascx文件 这样 我们就有两类型风格的模版了 每类型风格的模版中都有自己的header footer item alternating item子模版 下面为其中一个item模版文件 其他的类似

  

  

  <%@ Control Language= VB %><FONT face= verdana color= green size= ><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>

.NET编程免费提供,内容来源于互联网,本文归原作者所有。

相关参考

知识大全 ASP.NET中实现模版的动态加载[2]

ASP.NET中实现模版的动态加载[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  接下来我

知识大全 ASP.net中动态加载控件时一些问题的总结

ASP.net中动态加载控件时一些问题的总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  经常

知识大全 asp.net动态加载css

  谁如果有更直接的方法请不吝赐教也不知有什么方法可以直接更换css  <%@PageLanguage=C#AutoEventWireup=true CodeFile=Defaulta

知识大全 在ASP.NET中动态生成图形

在ASP.NET中动态生成图形  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  NET有一个很灵巧

知识大全 Asp.Net中动态页面转静态页面

Asp.Net中动态页面转静态页面  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  关于在AspN

知识大全 在Asp.net用C#建立动态Excel

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

知识大全 基于asp.net的web页面动态控件创建以及使用

 摘要web设计中有很多场合页面的控件要动态创建甚至只能动态创建这样可以增加页面的灵活性但是给程序员带来了一些麻烦比如要使用动态创建的控件怎么使用都是要求解决的问题本文基于aspnet简要介绍了页面的

知识大全 在ASP.NET中显示进度条

在ASP.NET中显示进度条  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于加载时间比较长的

知识大全 asp.net基础小结

  一动态网页和静态网页  起初看到这两个概念会以为动态网页就是网页带有flash的页面而静态网页就是不会动的网页现在看来这种理解是错误的大错特错所谓的动态网页呢其实是指网页和服务器有交互的服务器中的

知识大全 ASP.NET动态设置页面标题

ASP.NET动态设置页面标题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET为我们