0

アプリケーションで新しいユーザーを作成するとき、3つのサブ部分ビューがタブとして表示されている部分ビューで構成される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内に読み込まれます。

タブを切り替えるときにデータを保持するための良い方法を考えることができません。

タブを切り替えるたびに、Actionmethodが呼び出されてdivにタブコンテンツのhtmlが入力され、すでに入力されているものがすべて失われます。

よろしくお願いします!ご不明な点がございましたら、お気軽にお問い合わせください。

追加情報:

モデル:親ポップアップの場合、「ユーザー」モデルがあり、そのUserDetails、UserEducation、およびUserEmploymentを、ユーザーの詳細、ユーザー教育、ユーザー雇用の3つの部分ビュータブにそれぞれ渡します。

ユーザーがデータを失うことなくタブを自由にナビゲートできるようにするには、終了時にユーザーモデルを保存するだけで、データを失うことなく3つの接続されたエンティティも保存できるようにするにはどうすればよいですか。

ps使用しない必要があるため、jqueryタブコントロールを使用していません。

4

1 に答える 1

1

この部分ビューを一度にポップアップにロードする必要があります。私はすべての3つのタブタブのすべてのコンテンツを意味します。より良い解決策を得るために、より多くのコード、特にJavascript部分を表示します。

于 2012-05-14T20:12:51.517 に答える