0

部分ビュー「selectUser」があります。この部分ビューで、ユーザーは他のユーザーを検索できます。ユーザー ID は非表示のフィールドに保存されるかvar、ビューに保存されます。この部分ビューを多くの場所で使用する必要があります。ダイアログのクローズイベントで、選択したユーザーのIDを返す必要があるとしましょう。私の質問は、選択した値を親ビューに再実行するために、jquery ui を使用してモーダル ダイアログとしてロードされたこの部分ビューを作成するにはどうすればよいですか? 親ビューから直接値にアクセスする方法はありますか?

4

1 に答える 1

2

私はあなたが今必要としているものに従っていると思います。したがって、ボタンをクリックすると、サーバーに ajax コールバックを実行し、呼び出しに宛先フィールド名を含めます。

$.ajax({
     url: "@(Url.Action("Action", "Controller"))",
     type: "POST",
     cache: false,
     async: true,
     data: { destination: 'fieldName' },
     success: function (result) {
         $(".Content").html(result);
         AttachScript();
         Dialog.load();
     }
});

コントローラーで、ビューモデルまたはビューバッグを介してそのフィールドを部分ビューに送信し、部分ビューでそのフィールド名を隠しフィールドに入れます。次に、ボタンをクリックすると、このようなことができるはずです(テストされていません)

function AttachScript(){
    $('.btnSubmit').on('click', function(){
        var data = $('.sharedField').val();
        $($('.HiddenField').val()).val(data);
    });
}

これにより、非表示フィールドで名前が付けられているフィールドの値がデータに設定されます。うまくいけば、これが役に立ちます。

于 2013-09-23T21:31:01.353 に答える