MVC と AJax.BeginForm を使用して、ページの ajax 更新を行っています。BeginForm コードは次のようになります。
using (Ajax.BeginForm("HandleCrop", "Card",
new
{
accept = true,
id = Model.ImageUpload.ID,
file = Model.ImageUpload.File,
imageCropX = Model.CropInfo.X,
imageCropY = Model.CropInfo.Y,
imageCropWidth = Model.CropInfo.Width,
imageCropHeight = Model.CropInfo.Height
},
new AjaxOptions
{
HttpMethod = "POST",
OnComplete = "ConfirmCompleted",
OnSuccess = "ReloadUpload",
OnFailure = "Failure"
}, null))
Model.CropInfo は、次のように隠しフィールドとして配置されています。
<%=Html.HiddenFor(m => m.CropInfo.X) %>
<%=Html.HiddenFor(m => m.CropInfo.Y) %>
<%=Html.HiddenFor(m => m.CropInfo.Width) %>
<%=Html.HiddenFor(m => m.CropInfo.Height) %>
ただし、これらの値は一部のクライアント側の JavaScript によって動的に変更されており、これらの値は Ajax コールバックを介してサーバーにポストする必要があります。ページのレンダリング時に Ajax フォームの imageCrop.. パラメータが入力されるため、上記のコードは明らかに機能しません (したがって、すべて 0 になります)。
私の質問は、この状況にアプローチする正しい方法は何ですか?