在我的应用程序中创建新用户时,我正在显示一个JQuery模式弹出窗口(.dialog()),其中包含一个部分视图,其中三个子部分视图显示为制表符。
选项卡内容(部分视图)被加载到模态弹出窗口内,其中Ajax调用只是替换为
用于呈现标签内容的Javascript:
$.post('@Url.Action("AddUserEducation","User")', { id: userId},
function(data) {
$("#education").show().html(data);
}
ActionMethod:
public PartialViewResult AddUserEducation(Guid id)
{
var userEducation = new UserEducation();
var user = GetUserFromRepository(id);
userEducation.User = User;
return PartialView("UserEducation", userEducation);
}
用户局部视图将显示选项卡:
<div id="details"></div>
<div id="education"></div>
<div id="employment"></div>
所以每次切换标签时,另一个部分视图都会被加载到弹出式Div。
中切换标签时,我想不出保存数据的好方法。
每次切换标签时,都会调用一个Action方法来使用标签内容html填充div,并且我放弃了已输入的所有内容。
先谢谢你们!如有任何问题,请随时提出。
额外信息:
模型:对于父弹出窗口,我有一个“用户”模型,然后我将其UserDetails,UserEducation和UserEmployment传递给三个部分视图选项卡:用户详细信息,用户教育,用户就业。
如何让用户在不丢失数据的情况下自由浏览选项卡,以便在完成后只需保存用户模型并保存三个连接的实体,而不会丢失任何数据。
P.S。我没有使用jquery选项卡控件,因为我不需要。
答案 0 :(得分:1)
您应该将此部分视图一次性加载到弹出窗口中。我的意思是所有3个标签选项卡的所有内容。显示更多代码以获得更好的解决方案,尤其是Javascript部分。