发布于 2016-05-28 22:13:33 | 121 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


在asp.net(C#)中采用自定义标签和XML、XSL显示数据的实现代码。
标签定义

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={0}?PageNum=1>第一页</a>|<a href={0}?PageNum={1}>上一页</a>|<a href={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="/"> 
<h2> 
<xsl:for-each select="ArrayOfEmployeeEntity/EmployeeEntity"> 
<![CDATA[<a href="http://www.phperz.com/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>


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务