私はこのようなビューを持つmvc2アプリケーションを持っています
<% using (Ajax.BeginForm("UserApprove", new { id = Model.id }, new AjaxOptions() { UpdateTargetId = "statusLights", OnSuccess = "HideButtons" }, new { id = "UserApprove" }))
{%>
<input type="button" value="Approve" onclick="$('#dialogApprove').dialog('open')" />
<div id="dialogApprove" title="Confirm">
<p>
Are you sure you want to approve this request?
</p>
</div>
<% } %>
参考までに、コントローラーは部分ビューを返します。
以前はjqueryダイアログがなく、単純な
<input type="Submit" value="Approve" />
以前は正常に機能していました
jqueryダイアログを追加しましたが、ダイアログを初期化するためにこのようなものがあります。
$("#dialogApprove").dialog({
autoOpen: false,
draggable: true,
resizable: false,
buttons: {
"Cancel": function() {
$(this).dialog("close")
},
"Approve": function() {
$("#UserApprove").submit();
$(this).dialog("close");
}
}
});
$( "#UserApprove")。submit(); ajax投稿を行っていないようです。新しいページに返される部分ビューのテキストだけが返されます。
.ajaxSubmit()を持つjqueryフォームプラグインを使用したくありません。jqueryダイアログの「承認」ボタンからajax投稿を強制する他の方法はありますか?