シナリオは次のとおりです。
- 一部の JavaScript によって部分ビューが取得され (部分ビューを返すコントローラーへの AJAX 呼び出し)、HTML が DOM に追加されます。
- 部分ビューには、レンダリングされたフォームが含まれています
Ajax.BeginForm()
- フォームが送信される (送信ボタンがクリックされる) と、2 回投稿されます。
(JavaScript を使用して追加するのではなく)元のビューで部分ビューをレンダリングすると、Html.Partial()
期待どおり、フォームは 1 回だけ送信されます。
部分ビューを追加するスクリプトは次のようになります。
$.ajax({
type: 'GET',
url: '/MyController/MyAction',
cache: false,
contentType: "application/html; charset=utf-8",
dataType: 'html',
success: function (result) {
$('#body').append(result);
}
});
何か案は?:) ありがとう!