我发送一个ajax调用来获取一个kendo树视图局部视图,但是这个局部视图位于另一个名为" CommonController"它需要使用TempData发送的kendo树视图部分的configdata。 CommonController中的Action方法返回kendo树的局部视图。
以下是我的代码:
Ajax呼叫控制器
$.ajax({
url: deploymentDirSim + "/FormJS/FoldersAndFilesTreePartialView",
type: "get",
contentType: "'application/json; charset=utf-8'",
success: function(sdata) {
$("#ffTreeViewDiv").html(sdata);
},
error: function(e) {
console.log(e);
}
});
控制器方法
public ActionResult FoldersAndFilesTreePartialView()
{
FoldersAndFilesTreeConfigData configdata = new FoldersAndFilesTreeConfigData
{
Name = "treeViewFolderFile",
HtmlAttributes = "height:100%; overflow:hidden;",
CheckBoxes = false,
ShowCheckBoxOnFolder = false,
OnDataBound = "onFolderExplorerItemDataBound",
OnSelect = "onFolderExplorerTreeViewItemSelect",
OnRequestEnd = "",
OnCheckBoxCheck = "",
OnExpand = "onFolderExplorerItemExpand",
OnCollapse = "onFolderExplorerItemCollapse",
ActionName = "PopulateFoldersAndFilesTree",
ControllerName = "FormJS",
AreaName = "MyArea"
};
TempData[configdata.Name] = configdata;
return RedirectToAction("FoldersAndFileTreeView", "Common", new { area = "", tempDataKey = configdata.Name });
}
CommonController代码
public ActionResult FoldersAndFileTreeView(string tempDataKey)
{
ViewBag.configData = TempData[tempDataKey];
return PartialView();
}
它工作正常但在某些情况下由于任何原因(例如网络延迟)" FoldersAndFileTreeView"部分视图返回有一些延迟。问题是,除非部分请求正在进行,否则所有剩余的调用(例如脚本,样式表和图像文件下载)都会被卡住,并且它们的状态将被暂停。
以下是网络跟踪的快照:
由于上述问题,用户界面暂时停滞不前。
请告诉我,我做错了什么?我希望这些调用以异步方式运行而不是阻止其他调用吗?
提前致谢