2つの入力タイプ=テキストのページがあります..
@model MVC3.ViewModel.TalkToUsVM
@using (Html.BeginForm())
{
<ul>
<li>@Html.TextBoxFor(m => m.TalkToUsRequest.Name)</li>
<li>@Html.TextBoxFor(m => m.TalkToUsRequest.Email)</li>
</ul>
<input type="submit" value="Save"/>
}
私のコントローラーでは、これを行います:
[HttpPost]
public ActionResult Create(TalkToUsRequest talkToUsRequest)
{
var vm = new TalkToUsVM();
if (TryValidateModel(talkToUsRequest))
{
vm.Result = "Success";
return View("Create",vm);
}
vm = new TalkToUsVM
{
Result = "Errrooooooor",
TalkToUsRequest = talkToUsRequest
};
return View(vm);
}
だから問題..私のモデルが有効な場合、結果を「成功」に設定し、この時点でvm.TalkToUsRequestはnullです..しかし、ページがレンダリングされると、すべてのフィールドは送信したときと同じ値になります..私は vm.TalkToUsRequest = null を設定しています!! このフィールドをクリアするにはどうすればよいですか?