如何在控制器操作方法中运行/触发javascript?
我使用的是.NET4.0,目前Internet上的许多解决方案都不起作用,例如不存在库 整个故事是:我有一个主视图,其中有一个iframe。单击主视图上的[submit]按钮,它将触发自己的POST操作,我使用javascript使其触发iframe的POST,如下所示:如何在控制器操作方法中运行/触发javascript?,javascript,jquery,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc 3,我使用的是.NET4.0,目前Internet上的许多解决方案都不起作用,例如不存在库 整个故事是:我有一个主视图,其中有一个iframe。单击主视图上的[submit]按钮,它将触发自己的POST操作,我使用javascript使其触发iframe的POST,如下所示: function TriggerIframeAction() { var iframe = document.getElementById("myIframe"); var iframeForm = ifram
function TriggerIframeAction() {
var iframe = document.getElementById("myIframe");
var iframeForm = iframe.contentWindow.document.getElementById("myIframeForm");
iframeForm.submit();
}
但是我需要确保主框架的post总是在iframe的post之前运行,所以我想让主框架的操作触发这个JS
我知道Ajax.BeginForm(…OnSuccess…)可能会有所帮助。然而,这似乎只是意味着连接成功?如果我将验证代码放在主框架的操作中&make ModelState.IsValid=false,“OnSuccess”(因此iframe post)仍将被执行,这不是我想要的
如果我错了,请纠正我
<form id="form1" method="POST" action="/controller/action">
</form>
控制器:
public ActionResult Action(FormCollection collection)
{
// do something
return Json(true);
}
控制器:
public ActionResult Action(FormCollection collection)
{
// do something
return Json(true);
}
对不起,代码中可能出现的错误,我没有测试过,但这就是如何做的想法。对不起,代码中可能出现的错误,我没有测试过,但这就是如何做的想法