這是控制器:Ajax.BeginForm:從控制器返回什麼來防止頁面刷新?
[HttpPost]
public async Task<ActionResult> Run(Job job, HttpPostedFileBase productRequestFile, HttpPostedFileBase masterFile, string SignalRConnectionId)
{
return View(job);
}
而且本所認爲:
@using (Ajax.BeginForm("Run", "Job", null, new AjaxOptions(){ HttpMethod = "POST", UpdateTargetId = "container" }, new {enctype="multipart/form-data"}))
{
<input type="file" name="masterFile" id="masterFile" class="btn btn-default" required />
<input type="file" name="productRequestFile" id="productRequestFile" class="btn btn-default" required />
@Html.TextAreaFor(m => m.Parameters, new { @class = "control form-control" })
@Html.ValidationMessageFor(m => m.Parameters)
<input type="hidden" id="SignalRConnectionId" name="SignalRConnectionId" />
@Html.HiddenFor(m => m.Name)
<table><tr><td></td></tr></table>
<div id="container"></div>
<button id="StartButton" type="submit" class="btn btn-lg btn-primary center-block">Start job</button>
}
現在我回來View(job)
但導致頁面刷新。如果我返回null,那麼頁面將變爲空白。我可以返回什麼以便頁面沒有任何反應?
這有什麼做什麼用你的行動返回。如果我不得不猜測,你的頁面上有一個JavaScript錯誤導致所有JavaScript停止運行,包括你的AJAX,所以表單只是作爲一個正常的表單工作。 –
好吧我會調查這 –
控制檯顯示沒有錯誤,只是導航 –