0

在我的应用程序中创建新用户时,我正在显示一个 JQuery 模式弹出窗口( .dialog() ),它包含一个部分视图,其中三个子部分视图显示为选项卡。

选项卡内容(部分视图)通过 Ajax 调用加载到模式弹出窗口内,该调用简单地替换为

用于呈现选项卡内容的 Javascript:

        $.post('@Url.Action("AddUserEducation","User")', { id: userId},
        function(data) {
            $("#education").show().html(data);
           }

行动方法:

    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 中加载另一个局部视图。

我想不出在切换标签时保留数据的好方法。

每次我切换选项卡时,都会调用一个 Actionmethod 来使用选项卡内容 html 填充 div,然后我会丢失已经输入的所有内容。

提前谢谢各位!请不要犹豫,提出任何问题。

额外信息:

模型:对于父弹出窗口,我有一个“用户”模型,然后我将其 UserDetails、UserEducation 和 UserEmployment 分别传递给三个部分视图选项卡:用户详细信息、用户教育、用户就业。

如何让用户在不丢失数据的情况下自由浏览选项卡,以便完成后他们可以简单地保存用户模型并保存三个连接的实体而不会丢失任何数据。

ps 我没有使用 jquery 选项卡控件,因为我不需要这样做。

4

1 回答 1

1

您应该一次将这个局部视图加载到弹出窗口中。我的意思是所有 3 个选项卡选项卡的所有内容。显示更多代码以获得更好的解决方案,尤其是 Javascript 部分。

于 2012-05-14T20:12:51.517 回答