c#(SVG)无刷新,动态执行Javascript处理SVG对象:ajax 页面 (三)

注意:ajax.aspx 不包含<html><head><body>等内容,只含一行.cs 调用说明,这样客户端返回空的 html
在ajax.aspx.cs中输出js脚本到空白的aspx页面,
然后返回给调用的doTestSVG.aspx

============= (1)ajax.aspx ===============
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajax.aspx.cs" Inherits="ajax" %>

============= (2)ajax.aspx.cs ============
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //(1)清空IE缓存
            Response.Buffer = true;
            Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
            Response.Expires = 0;
            Response.CacheControl = "no-cache";
            //(2)画设备及其位置
            Response.Write(drawNodeSide());
        }
    }  
   private string drawNodeSide()
    {
        string nodeSideObj = drawNode();
        if (nodeSideObj == "") return "";

        DBConn DBObj = new DBConn();
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append("function nodeSide(){");
        sb.Append(nodeSideObj);
        sb.Append("}nodeSide();");
        return sb.ToString();
    }
    private string drawNode()
    {
        string nodeSide = getNodeSide();
        if (nodeSide == "") return "";

        //取得SVG的javascript 脚本函数,并开始画SVG
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        string SymbolFun = SymbolFunction();
        sb.Append("var svgdoc=window.form1.thesvgdoc.getSVGDocument();");
        //添加函数,并删除所有的 [信息Symbol "id" 属性必须以 "msg""开头
        sb.Append(SymbolFun + "removeMsgSymbol();");
        sb.Append("var posG=svgdoc.getElementById('nodeSide');");
        //清除原来的定位容器<g>
        sb.Append("if(posG!=null) {childs=posG.getChildNodes();");
        sb.Append("while(childs.length>0) posG.removeChild(childs.item(0));}");
        //创建NS链接对象
        sb.Append("var svgns = 'http://www.w3.org/2000/svg';");
        sb.Append("var setns = 'http://www.w3.org/1999/xlink';");
        //创建新的定位容器<g>
        sb.Append("var userPosG = svgdoc.createElement('g');");
        sb.Append("var userDvcG = svgdoc.createElement('g');");
        sb.Append("userDvcG.setAttribute('id','luserDvc');");
        //人员位置定位信息
        sb.Append(nodeSide);
        //添加定位容器<g> 到SVG中
        sb.Append("posG.appendChild(userPosG);");
        sb.Append("posG.appendChild(userDvcG);");
        return sb.ToString();
    }

private string getNodeSide(){
          。。
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值