C/S结构的程序实现图形化的界面是相对容易的,因为界面的布局 及操作控制均方便很多,WEB程序实现图形化的操作界面最复杂的在于元素定位上,VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,结合脚本可以在WEB上实现一些动态的效果.
E8.Net工作流架构下有一个应用产品,E8.HelpDesk FOR ITSM,中展示资产变更历史就用到了这个技术. (呵呵,在一次竟标中,这个图为PK掉了一个国外的产品起到了很大作用)

主要实现的思路就是是利用VML结合XSLT输出 及 E8.NET工作流架构提供的一些基础组件,非常方便的就实现了.
C#代码如下:
long lngID = 0;
if (this.Request.QueryString["id"] != null)
lngID = long.Parse(Request.QueryString["id"]);

XmlDocument xmlDoc = new XmlDocument();

Equ_DeskDP ee = new Equ_DeskDP();
string sXml = ee.GetEquAllHistoryXml(lngID, 125, 500, 1500, 1000);

xmlDoc.LoadXml(sXml);


XPathNavigator nav = xmlDoc.DocumentElement.CreateNavigator();


XslTransform xmlXsl = new XslTransform();

xmlXsl.Load(Server.MapPath("../xslt/EquImageHistory.xslt"));

XsltArgumentList xslArg = new XsltArgumentList();


xmlXsl.Transform(nav, xslArg, Response.OutputStream);
XSLT代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:v="urn:schemas-microsoft-com:vml">
<xsl:template match="/">
<html>
<style>
E8.Net工作流平台为企业应用开发提供了一个起点,欢迎访问 :http://www.feifanit.com.cn/productFlow.htm
相关文章: