[英]How to call both javascript function and C# function on a single button click in MVC
我想通過單擊一個按鈕來調用用Model Class編寫的javascript和函數。 我使用以下代碼:
<script language="javascript" type="text/javascript">
function RunEXE() {
var txtfile = document.getElementById("txtFileName");
//var txtProgram = document.getElementById("txtProgram");
//if ((!String.IsNullOrEmpty(txtfile)) && (!String.IsNullOrWhiteSpace(txtProgram))) {
if (txtfile.value != "") {
var oShell = new ActiveXObject("WScript.Shell");
//var prog = "c:\\Pgms\\sample0.exe";
var prog = "\\\\Test-PC\\Programms\\" + txtfile.value + ".exe";
oShell.Run('"' + prog + '"', 1);
} else {
alert('The file name must be entered in file name textbox');
}
}
</script>
<input type="submit" name="button" value="Run" onclick="RunEXE()" />
下面的代碼是Model函數:
public ActionResult Run(UserProgram userProgram)
{
SaveAndCompile(userProgram);
return null;
}
但是它僅與Run()一起使用而沒有運行RunEXE()
[HttpPost]
public ActionResult RunAction(string option1){//如果需要,您可以使用“ option1”值來確定要傳遞UserProgram的UserProgram userProgram = new UserProgram(); 運行(userProgram);
//you can return a JSON reuslt that you can evaluate back at the client
return Json(new { @Success = true, @MyString = "a string" });
}
$.post('@Url.Action("RunAction", "MyController")',
{
option1: "some optional value"
},
function (data) {
alert("success!");
//here you have access to your JSON result via data, for example:
//data.Success = true
//data.MyString = "a string"
}
);
在您的情況下,您可以通過JQuery提交功能提交表單。
我假設您的代碼如下所示:
<form id="form" action="/Run">
// your some inputs
<input type="submit" name="button" value="Run" />
</form>
提交的JavaScript將是:
$(function() {
$('#form').submit(function() {
// to do something before the form is submitted
RunEXE();
return true; // return false to cancel form action
});
});
干杯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.