この例のように ASP.NET 部分ビューを使用しています
<% using (Html.BeginForm()) { %>
<table cellspacing="2" cellpadding="0" border="0" width="100%">
<tr>
<td><%= Html.LabelFor(model => model.PersonName)%></td>
<td>
<%= Html.TextBoxFor(model => model.PersonName)%>
<%= Html.ValidationMessageFor(model => model.PersonName, "*")%>
</td>
</tr>
...
<tr><td colspan="2"><%= Html.ValidationSummary(false) %></td></tr>
</table>
<% } %>
これらの部分ビューを jquery コードを使用して呼び出す Jquery ダイアログに表示します
$.ajax({
type: "get",
dataType: "html",
url: urlAction,
data: {},
success: function(response) {
$("#panelDetail").html('').html(response).dialog('open');
}
});
すべてが機能し、私を幸せにしてくれます。jquery ajax を使用してフォームを送信することもできるので、さらに満足しています。:)
本当に厄介なのは、検証が発生すると、ページが完全に更新されてダイアログが閉じられるため、検証がどこで発生するのか理解できなかったことです。
誰かがこれを手伝ってくれると確信しています。とにかく....誰になるの?:)
前もって感謝します!
編集:
これは、いくつかのコードを含むコントローラー アクション シグネチャです。
[HttpPost]
public ActionResult MyAction(FormCollection form) {
string foroID = form["ForoId"];
string foro = form["Foro"];
string authorityId = form["AuthorityId"];
string sezione = form["Sezione"];
...
}
検証するためにモデル クラスを再作成する必要がありますか?