读书人

高手JS与 C# DLL动态库

发布时间: 2012-01-06 22:55:18 作者: rapoo

高手求助:JS与 C# DLL动态库
简单说问题是我在客户端用 JS 从服务器取得的了一个XML文件
var xmlhttp = new ActiveXObject( "Msxml2.XMLHTTP ");
var xmldoc = new ActiveXObject( "Msxml2.DOMDocument ");
var url = "default.aspx " ;
xmlhttp.Open( "POST ",url,false);
xmlhttp.Send( " ");
var result = xmlhttp.ResponseText;
xmldoc.loadXML(result);
现在我需要把xmldoc里的数据发送到本地DLL文件处理打印,我该怎么发送?
已经知道的的处理方式: 1保存成本地文件 把路径发送给DLL文件读取
2以字符串形式发送
<body bgcolor= '#223344 '>
<script language= "javascript ">
<!--
var s= "路径 or 字符串? "
function show()
{
return s;
}

-->
</script>
<object id= "HelloWorld " classid= "clsid:C4483974-AE04-4ec8-A53C-541FD73A3C15 " Width= "256 " Height= "96 " > </object>
<br>
<input type= 'button ' onclick= 'HelloWorld.receive(show()) ' value= 'Click '>
</body>
请问有没有更好的方式? 请各位大虾帮忙,JS实在太差。。。

[解决办法]
转个2003-2-14的————
************************************
服务器端程序方式、打印预览接口调用,下面为例,主要参考项目中的:pageErrorPrint.aspx.vb文件

主调用页

function PrintPage(iPageIndex,strQuery)

{

var strURL;

strURL = "PageErrorPrint.aspx?PageIndex= " + iPageIndex + "&QueryString= " + strQuery;

winPrint=window.open(strURL, " ", "left=2000,top=2000,fullscreen=3 ");

}

打印页HTML源中的预览控制

<SCRIPT language= "javascript ">

document.write( " <object ID= 'WebBrowser ' WIDTH=0 HEIGHT=0

CLASSID= 'CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 '> </object> ");

WebBrowser.ExecWB(7,1);

window.opener=null;

window.close();

</SCRIPT>


程序头

'首先声明表格容器

Protected WithEvents phContainer As System.Web.UI.WebControls.PlaceHolder

'每个表格中的记录数量

Private Const ItemPerTable As Integer = 20

关键的实现部分

'创建一个符合打印要求的表格


tabPagePrint = NewPrintTable()

'将表头添加到此表格中

Call AddTableTitle(tabPagePrint)


'初始化记录器

i = 0

iItemIndex = iStartPoint

For Each clsItem In clsAllData.ErrorCollection

If i > 0 And i Mod ItemPerTable = 0 Then

'添加表格控件到页面中

phContainer.Controls.Add(tabPagePrint)

'在页面中添加一个换行符

Call AddPageBreak()


'创建新一轮的表格

tabPagePrint = NewPrintTable()

Call AddTableTitle(tabPagePrint)

End If


'将记录添加到表格中

Call AddItemToTable(iItemIndex, tabPagePrint, clsItem)

iItemIndex = iItemIndex + 1

i = i + 1

Next


'添加表格控件到页面中

phContainer.Controls.Add(tabPagePrint)


支持函数

'功能:添加页的换行符

Private Sub AddPageBreak()

Dim ltBreak As LiteralControl

ltBreak = New LiteralControl( " <p style= 'page-break-before:always '> ")

phContainer.Controls.Add(ltBreak)

End Sub


'功能:创建一个符合打印要求的表格

Private Function NewPrintTable() As Table

Dim tabSrc As New Table()


tabSrc.Width = Unit.Percentage(100)

tabSrc.Attributes( "border ") = "1 "

tabSrc.CellPadding = 4

tabSrc.CellSpacing = 0

tabSrc.BorderWidth = Unit.Pixel(2)

tabSrc.BorderColor = Color.Black

tabSrc.Style.Add( "FONT-SIZE ", "12px ")

NewPrintTable = tabSrc

End Function

[解决办法]
mark
[解决办法]
接分!
[解决办法]
换个设计吧,这个设计即将没用. (Vista下这种设计通不过IE安全模式....)
[解决办法]
1.你还是用XMLHTTP把值回传给服务器
2.你可以在服务器端写一个转用web serviece来处理

读书人网 >asp.net

热点推荐