想象一下,我有一个带有用户列表(循环)的部分视图,其中每个用户都是另一个部分视图,其中包含一个用户的详细信息。
foreach (var user in Model.Users)
{
<a href="#" onclick="JavascriptFunction(user.Id);">Details<a>
}
当我单击列表项之一的上述详细信息链接时,会弹出一个弹出窗口(JQuery modal dialog()),其中包含有关该选定用户的详细信息。或者至少这是目标。我需要将选定的用户详细信息添加到打开的新弹出窗口中。
所以现在我需要在 .dialog('Open') 触发之前使用用户详细信息填充弹出窗口将包含的部分视图后面的模型。
问题:从 Javascript 函数(上例中的 onclick JavascriptFunction 函数)调用 ActionMethod 并在显示对话框之前填充 Partial View 模型的最佳方法是什么?
现在我正在按照以下方式进行操作,但无论出于何种原因,我在页面上呈现的数据都会出现重大延迟。在 .html() 最终显示数据之前,我看到空白 div 5-10 秒:
在主列表页面上:
<div id="userPopup"></div>
假设从 ActionMethod 加载带有用户详细信息的部分视图的 Javascript:
$.post('@Url.Action("Details","User")', { id: userId},
function (data) {
$("#userPopup").html(data);
});
可能有一种方法可以在页面上预加载部分视图,然后将我的数据加载到它的模型中而不重写整个 PartialView ?那将是理想的情况,但我认为没有办法做到这一点,是吗?
先感谢您 !如果有任何事情听起来令人困惑,请随时提出问题。