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=http://www.jb51.net/article/{0}?PageNum=1>第一页</a>|<a href={0}?PageNum={1}>上一页</a>|<a href=http://www.jb51.net/article/{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="http://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>
(编辑:广州站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|