程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行Visio二次開發之Web查看Visio圖紙(2)

C#進行Visio二次開發之Web查看Visio圖紙(2)

編輯:關於C語言
面介紹下如何實現這個功能:

1、第一個頁面的實現很簡單,你指定一個鏈接指向新的頁面(VisioContainer.ASPx),該頁面包含Visio VIEw的ActiveX控件,連接中帶一些參數過來,指明是查看那個圖紙的就OK了。

2、這個頁面(VisioContainer.ASPx)實現很關鍵,在此頁面放置一個Visio VIEwer的ActiveX控件,這個控件最重要的一個變量是SRC,它需要指向一個Visio的文件路徑,如果Visio圖紙是文件的話,直接賦值就可以顯示了。但是,我們的系統是基於數據庫存儲的,所有的Visio圖紙都是已二進制的方式存儲在數據庫的,那該如何實現呢?先看頁面代碼

<form id="Form1" runat="server">
<div>
<div align="right" style="font-size:x-small">如圖紙不能正常顯示,請<a href="http://www.cnblogs.com/Visio/Visio Viewer 2003.exe">下載安裝Visio VIEwer2003</a></div>
<object id="Viewer1" codebase="http://www.cnblogs.com/Visio/Visio VIEwer 2003.exe" height="100%" width="100%"
classid="clsid:279D6C9A-652E-4833-BEFC-312CA8887857" vIEwastext>
<param name="_cx" value="31485">
<param name="_cy" value="20373">
<param name="BackColor" value="16777200">
<param name="AlertsEnabled" value="-1">
<param name="ContextMenuEnabled" value="-1">
<param name="GridVisible" value="0">
<param name="HighQualityRender" value="-1">
<param name="PageColor" value="16777215">
<param name="PageVisible" value="-1">
<param name="PropertyDialogEnabled" value="-1">
<param name="ScrollbarsVisible" value="-1">
<param name="SizeGripVisible" value="-1">
<param name="ToolbarVisible" value="-1">
<param name="SRC" value="">
<param name="CurrentPageIndex" value="0">
<param name="Zoom" value="-1">
<param name="PageTabsVisible" value="-1">
<param name="ToolbarButtons" value="">
<param name="ToolbarCustomizable" value="-1">
</object>
</div>
</form>

其中我們需要動態指定SRC的值,因此在頁面(VisioContainer.ASPx)後台代碼中動態綁定了,這裡我們使用了JavaScript的方式來加載Visio VIEwer 的SRC路徑信息。

protected void Page_Load(object sender, EventArgs e)
{
string VisioID= Request.QueryString["VisioID"];
StringBuilder sb = new StringBuilder();
sb.Append("<script language='Javascript'>");
sb.AppendFormat("Form1.VIEwer1.src = 'VisioFile.ASPx?VisioID={0}'", System.Web.HttpUtility.UrlEncode(VisioID));
sb.Append("</script>");
ClIEntScript.RegisterStartupScript(typeof(string),"loadvisio", sb.ToString());
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved