[ChildActionOnly]
public async Task<ActionResult> TopLeftFlowPartialView()
{
var user = Session[Constants.SESSION] as UserSessionViewModel;
var hotelInventory = await _homeService.GetHotelInventoryAsync(user.HotelCd);
return PartialView("_TopLeftFlowPartialView", hotelInventory.Data);
}
頁面
@Html.Action("TopLeftNazhPartialView", "Home")
運作程式有時會抛出如下異常:
異常詳細資訊: System.InvalidOperationException: HttpServerUtility.Execute 在等待異步操作完成時被阻止。
“System.Web.HttpException”類型的異常在 System.Web.dll 中發生,但未在使用者代碼中進行處理
其他資訊: 執行處理程式“System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper”的子請求時出錯。
google 一番,居然 MVC5 不支援局部視圖的異步,得在MVC6 也就是現在的 ASP.NET CORE 1.0 後才支援。
又不想把異步改成同步方法,是以隻能改成 AJAX 來做了
$('#xx').load('@Url.Action("TopLeftFlowPartialView","Home")');
REFER:
http://stackoverflow.com/questions/24072720/async-partialview-causes-httpserverutility-execute-blocked-exception
http://www.cnblogs.com/dunitian/p/5481138.html
https://q.cnblogs.com/q/81685/