我有一个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"/>
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我这样做:
[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);
}
Run Code Online (Sandbox Code Playgroud)
所以问题..当我的模型有效时,我将结果设置为"成功",此时vm.TalkToUsRequest为null ..但是当呈现页面时,所有字段都具有与我提交时相同的值.甚至我设置vm.TalkToUsRequest = null !! 我该如何清除这些字段?
Lav*_*Lav 61
因此,在这种情况下,如果返回到同一视图,则必须清除模型状态.试试以下:
ModelState.Clear();
return View(vm);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30845 次 |
| 最近记录: |