ActionLinkをクリックして、コントローラーでViewModel値を設定すると、Viewがレンダリングされたときの変化を確認できます。しかし、ActionLinkを2回クリックすると、同じ値がControllerにnullとして表示されます。
値を保存してコントローラーに入力するにはどうすればよいですか?
意見:
@Ajax.ActionLink("Click me", "AjaxTest", "Controller", new AjaxOptions()
{
UpdateTargetId = "updatePanel",
HttpMethod = "POST",
OnSuccess = "A()"
})
<div id="updatePanel">
@Html.Partial("~/Views/Shared/_UpdatableContent.cshtml", this.Model)
</div>
コントローラ:
[HttpPost]
public ActionResult AjaxTest(MyViewModel model)
{
model.A = "A"
return PartialView("_UpdatableContent", model);
}
部分ビュー_UpdatableContent:
@Html.HiddenFor(x => x.A)
@if (Model.A == "A")
{
//Draw
}