私は、抱えている問題の回避策または解決策を見つけるために多くの時間を費やしました。以下のプロトタイプのような AJAX フォームがあります。
@using (Ajax.BeginForm("MyAction", "Account", new AjaxOptions() {
HttpMethod = "POST",
UpdateTargetId = Model.MyID.ToString(), OnSuccess = "onSuccess"
}))
{
@Html.AntiForgeryToken()
<fieldset>
<legend></legend>
@Html.HiddenFor(m => m.MyID, new { @id = Model.MyID.ToString() })
}
ご覧のとおり、HiddenFor 値は、POST アクションからの以下のコード スニペットのように、POST アクション内から取得される値に基づいて更新されます。
return Content(model.MyID.ToString());
良いことは、AJAX 呼び出しが HiddenFor 値を更新することですが、次の POST アクションでは、MyID の値がゼロではないことを知っているにもかかわらず、ゼロです!
Model.Clear()
やなどを提案する投稿をたくさん読みましたが、Model.Remove("MyID")
役に立ちませんでした。
私は何を間違っていますか、そしてこれに対する確実な解決策は何ですか? 事前に助けてくれてありがとう。