在C#后台调用window.open,,并且传递参数。。怎么写 啊?? 我是菜鸟,请详细点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#后台调用window.open,,并且传递参数。。怎么写 啊?? 我是菜鸟,请详细点相关的知识,希望对你有一定的参考价值。

参考技术A 帅哥,你要搞清楚,前台和后台的区别哦,
后台程序是在iis服务器收到请求数据处理时运行的,
前台脚本是客户机器上ie显示html时运行的,
后台程序和前台脚本是运行在不同的电脑上的哦,你所说的在后台调用window.open,我理解你是要在更新页面后弹出一个窗口对不?,如果是的话可以在页面程序cs里,调用ScriptManager向前台注册启动运行脚本,脚本内容为window.open(.....);这样当用户的ie窗口刷新到该页面时就会自动弹出一个新的ie窗口了,
参考技术B <script type="text/javascript">
function winopen(p_name,p_listid)


var url ="datalistshow.aspx?name="+p_name+"&listid=" +p_listid;
window.showModalDialog(url,'',"dialogWidth=800px;dialogHeight=500px");


</script> Page.ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>winopen('" +参数1 + "','" +参数2+ "');</script>");来自:求助得到的回答本回答被提问者采纳
参考技术B 不明

使用java传参调用exe并且获取程序进度和返回结果的一种方法

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

在某个项目中需要考虑使用java后台调用由C#编写的切图程序(exe),并且前端能够获取到切图的进度和相关描述信息。

2.解决思路

a.首先改造切图程序为接受参数从Main函数传递。

b.编写java后台传参调用exe的函数。

c.解决通信问题。

3.具体实现

3.1改写C#窗体程序

 

C#中的入口程序为Main函数,其中Main函数默认是没有参数的,如果添加参数,其只支持一个String数组参数,入口改写如下:

                       

将需要传入的参数写在args数组中,后续业务逻辑上因此做相关改写即可。

3.2java端传参调用

Java中可以利用Process类进行对exe或者是命名行cmd进行调用。具体例子如下:

 

其中exec为传参调用,而waitFor函数为当前线程等待函数,并可获取到由该 Process 对象表示的进程终止后返回的值。

如果exe中不设置返回参数,则默认执行正确为0。

3.3通信设计

3.3.1方案一

a.前端发出请求,等待回应。

b.后台接受请求,调用起exe。

c.exe执行完后将信息写入到指定文本中。

d.java端监听程序执行完毕后,获取指定文本。

e.解析文本中的信息。信息可以按照自定义规则组织,传达所需表示的含义。

f.将解析后的数据返回给前端。

 

优点:

前端无需轮询,等待返回结果即可。

缺点:

会出现请求超时问题,并且无法知道exe执行的目前状态。

3.3.2方案二

a.前端发出请求,并开始定时触发程序状态查询请求。

b.后台接受请求,调用起exe。

c.exe执行过程、完毕均向指定文本中写入信息。

d.前端状态查询请求,不断读取指定文本中的状态信息,在前端进行相关展示。

 

优点:

规避请求超时问题,可以实时获取程序进程。

缺点:

前端需要进行定时状态轮询请求。

 

                          -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

 

以上是关于在C#后台调用window.open,,并且传递参数。。怎么写 啊?? 我是菜鸟,请详细点的主要内容,如果未能解决你的问题,请参考以下文章

C# 。net 后台调用js带参方法

ajax为啥不能导出文件

angularjs 中打开新的浏览器窗口(解决window.open(),浏览器拦截问题)

js获取文件调用c#后台函数

js打开新窗口并且不被拦截

如何使用window.open在JSP页面之间传递【多个】参数?