ajax フォームを含む部分ビューがあります。ビューは、ユーザー情報を追加して更新するだけです。
コントローラーは、同じ部分ビューを ActionResult として送り返します。
私がやりたいことは、トランザクションが成功しなかった場合にエラー メッセージを表示することです。ただし、今回はメッセージとともに部分ビューのみを送信する必要があります。
これはどのように達成されますか?
コード:
ManageUsers.cshtml
<div id="details">
@{
Html.RenderPartial("AddModifyUserPartialView");
}
</div>
@{
Html.RenderPartial("ListUsersPartialView");
}
AddModifyUserPartialView.cshtml
@using (Ajax.BeginForm("AddModifyUser", "Account", FormMethod.Post,
new AjaxOptions()
{
UpdateTargetId = "details",
OnFailure= "handleError",
OnSuccess="handleSuccess"
},
new { id = "useragentform",
enctype = "multipart/form-data" }))
{
//form fields here
<input type="submit" id="savebutton" name="savebutton" value="Add New User" />
}
また、部分ビューで:
function handleError(ajaxContext) {
var response = ajaxContext.get_response();
var statusCode = response.get_statusCode();
alert(statusCode);
}
アカウント コントローラー
try
{
SecurityManager.AddUpdateUserAgent(ua);
}
catch (Exception ex)
{
//how do I send the message back along with the partial view???
}
return PartialView("AddModifyUserPartialView");