1
我試圖在ASP.NET Core中創建一個簡單的微調框,它將在持久控制器的操作中顯示。ASP.Net中的data-ajax-begin腳本Core MVC塊重定向
代碼按預期工作,但它似乎阻止控制器操作中的重定向。 有什麼辦法可以在這種情況下重定向工作?
我Index.cshtml控制器的行動
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/jquery-ajax-unobtrusive/src/jquery.unobtrusive-ajax.js"></script>
<script type="text/javascript">
function onBegin() {
$("#divLoading").html('<image src="~/images/ajax-loader.gif" alt="Loading, please wait" />');
}
function onComplete() {
$("#divLoading").html("");
}
</script>
<form data-ajax="true" data-ajax-begin="onBegin" data-ajax-complete="onComplete" asp-action="LoadLongLasting" asp-controller="Home">
<input type="submit" value="Load Long lasting"/>
</form>
<div id="divLoading"></div>
例子:
public ActionResult LoadLongLasting()
{
bool result = GetLongLastingResult();
if(result)
{
return View();
}
return RedirectToAction("Error");
}
AJAX的整點是住宿** **相同的頁面上。 Ajax調用永遠不會重定向,所以你的'return RedirectToAction(「Error」);'毫無意義 –
好的,那麼最好的做法是在請求開始時顯示一個已實現的微調器,並在沒有Ajax的情況下隱藏它。我相信這是一個很常見的情況,但說實話我不知道。 – Herman