复制代码 代码如下:
public class Encoding 
{ 
public string Encode(string cSource) 
{ 
return System.Web.HttpUtility.HtmlEncode(cSource); 
} 
} 
public class EmList : Label 
{ 
public override bool EnableViewState 
{ 
get{ return false;} 
} 
public string XslFile{get;set;} 
public object SerialObject{get;set;} 
protected override void Render(HtmlTextWriter writer) 
{ 
if (SerialObject == null) 
{ 
throw new Exception("对象未初始化"); 
} 
System.Xml.Serialization.XmlSerializer oSerial = new System.Xml.Serialization.XmlSerializer(SerialObject.GetType()); 
System.Text.StringBuilder oSb = new System.Text.StringBuilder(); 
System.IO.StringWriter oWr = new System.IO.StringWriter(oSb); 
string Xml = ""; 
oSerial.Serialize(oWr, SerialObject); 
Xml =oSb.ToString(); 
string cXslFileName = this.MapPathSecure(XslFile); 
if (!System.IO.File.Exists(cXslFileName)) 
{ 
throw new Exception("请加自己的处理异常程序"); 
} 
System.Xml.Xsl.XsltArgumentList xslArgs = new System.Xml.Xsl.XsltArgumentList(); 
Encoding oEn = new Encoding(); 
xslArgs.AddExtensionObject("urn:Encoding", oEn); 
System.Xml.XmlDocument oDoc = new System.Xml.XmlDocument(); 
try 
{ 
oDoc.LoadXml(Xml); 
} 
catch 
{ 
throw new Exception("请加自己的处理异常程序"); 
} 
System.Xml.Xsl.XslCompiledTransform oTran = new System.Xml.Xsl.XslCompiledTransform(); 
string cXsl = ""; 
try 
{ 
cXsl = System.IO.File.ReadAllText(cXslFileName); 
} 
catch 
{ 
throw new Exception("请加自己的处理异常程序"); 
} 
System.IO.StringReader oSr=new System.IO.StringReader(cXsl); 
System.Xml.XmlReader oRe=System.Xml.XmlReader.Create(oSr); 
try 
{ 
oTran.Load(oRe); 
} 
catch 
{ 
throw new Exception("请加自己的处理异常程序"); 
} 
try 
{ 
oTran.Transform(oDoc, xslArgs, writer); 
} 
catch 
{ 
throw new Exception("请加自己的处理异常程序"); 
} 
} 
} 
public class PageBar : System.Web.UI.HtmlControls.HtmlControl 
{ 
public int PageNum{get;set;} 
public int PageSize { get; set; } 
public int PageCount { get; set; } 
public string BaseUrl{get;set;} 
protected override void Render(HtmlTextWriter writer) 
{ 
writer.Write(string.Format("<a href=https://www.jb51.net/{0}?PageNum=1>第一页</a>|<a href={0}?PageNum={1}>上一页</a>|<a href=https://www.jb51.net/{0}?PageNum={2}>下一页</a>|<a href={0}?PageNum={3}>尾页</a>  (共{4}当前页{5})", BaseUrl, PageNum - 1 > 0 ? PageNum - 1 : 1, PageNum + 1 > PageCount ? PageCount : PageNum + 1, PageCount, PageCount, PageNum)); 
} 
} 
页面定义
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> 
<%@Register TagPrefix="CS" Namespace="WebApplication1.Control" Assembly=" WebApplication1" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<CS:EmList SerialObject="<%#List%>" XslFile="XSL/test.xslt" runat="server" /><br /> 
<CS:PageBar PageNum="<%#PageNum%>" BaseUrl="<%#Request.Path%>" PageCount="5" runat="server" /> 
</body> 
</html> 
其中List和PageNum为页面属性
XSLT:
复制代码 代码如下:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:Encoding="urn:Encoding"> 
<xsl:output method="text" /> 
<xsl:template match="https://www.jb51.net/"> 
<h2> 
<xsl:for-each select="ArrayOfEmployeeEntity/EmployeeEntity"> 
<![CDATA[<a href="https://www.jb51.net/article/9720.htm]]><xsl:value-of select="Encoding:Encode(EmployeeID)"/><![CDATA[" alt="]]><xsl:value-of select= "Encoding:Encode(Full_Name)"/><![CDATA["><br/>]]><xsl:value-of select= "Encoding:Encode(Email_Address)"/></xsl:for-each> 
</h2> 
</xsl:template> 
</xsl:stylesheet>
您可能感兴趣的文章:
