我使用了以下代码
<input type="submit" name="button" value="Run" onclick="RunEXE()" />
<script type="text/javascript">
function RunEXE() {
$.post('@Url.Action("Compile", "Compile")',
{
fileName: $("#FileName").val(),
programCode: $("#ProgramCode").val(),
compileOutput: $("#CompileOutput").val(),
language: "C",
button: "Run"
},
function(data) {
var oShell = new ActiveXObject("WScript.Shell");
var prog = "\\\\Test-PC\\Programms\\Ramkumar\\"+data.MyString+".exe";
oShell.Run('"' + prog + '"', 1);
}
);
}
当我使用上面的代码时,jquery正在工作到var prog = "\\\\Test-PC\\Programms\\Ramkumar\\"+data.MyString+".exe";
之后没什么好开心的。但是当我们没有从jquery调用服务器端函数时,它工作正常。
答案 0 :(得分:1)
Javascripts在客户端计算机上运行,浏览器不允许您在客户端计算机上运行exe 以实现客户端计算机安全性。如果要在服务器端运行某些 exe ,请在服务器上发送ajax call
指示,以便通过c#
代码运行exe。
答案 1 :(得分:0)
在处理提交按钮上的onclick时,尝试将 preventDefault()添加到函数末尾。
或者
尝试更改
<input type="submit"> to <input type="button">
编辑:
function RunEXE() {
$.post('@Url.Action("Compile", "Compile")',
{
fileName: $("#FileName").val(),
programCode: $("#ProgramCode").val(),
compileOutput: $("#CompileOutput").val(),
language: "C",
button: "Run"
},
function(data) {
var oShell = new ActiveXObject("WScript.Shell");
var prog = "\\\\Test-PC\\Programms\\Ramkumar\\"+data.MyString+".exe";
oShell.Run('"' + prog + '"', 1);
}
);
return false; // equivalent to preventDefault() in JQuery
}