我在 MVC Razor 应用程序中的问题:
我使用基于 javascript 计时器的轮询控制器动作调用来请求是否已经有答案(顺便提一下Controller
来电中的 WCF )。
如果有答案,则视图会通过正常的返回View(...)
操作结果进行更新,该操作会正确更新视图。
但如果答案仍然不可用,我希望ActionResult不会更改或更新View
。我试图返回EmptyResult
,但随后我的网页变白了。如果可能的话,我不想修改我的控制器动作调用方法:
@using (Html.BeginForm("actionTryGetNewSystemSentence", "Conduct", FormMethod.Post,
new { onsubmit = "OnTryGetNewSystemSentence(event)", id = "idConductForm" }))
{ ...}
我还尝试了其他ActionResult
类型,但他们修改了视图或返回空白或无效的View
。轮询每 500毫秒完成,因此我不能让视图每 500毫秒更新一次。
答案 0 :(得分:0)
您在这里使用 Html.BeginForm ,这意味着它不是ajax调用。您必须指定Ajax.BeginForm并在结果成功或失败时调用jquery中的函数并相应地更新html。
@using (Ajax.BeginForm("actionTryGetNewSystemSentence", "Conduct", new AjaxOptions { HttpMethod = "POST", onsubmit = "OnTryGetNewSystemSentence(event)", OnSuccess = "Successmethod(event)", OnFailure = "Failuremethod(event)", id = "idConductForm" })) { ...})
检查以下链接
http://www.c-sharpcorner.com/UploadFile/0c1bb2/ajax-beginform-in-Asp-Net-mvc-5/