【发布时间】:2017-02-21 01:13:30
【问题描述】:
我有一个表格。在该表单中,我有一个文本区域属性。单击提交按钮后,我想在同一页面中显示一些视图包值,同时我正在清除表单。
在我的场景中,除了一个文本区域之外,一切都变得清晰起来。所以对于那个
我使用了以下方法
模型类
public class SomeModel
{
...
public list<user> userlist {get; set}
}
控制器类
[HttpPost]
public ActionResult SomeAction(SomeModel model)
{
model.userlist = new List<user>();
if (ModelState.IsValid)
{
.....
ModelState.Clear();
ModelState.Remove(model.SampleTextArea);
model.SampleTextArea = ""
}
return View("SomeAction", model);
}
现在一切都第一次正常工作。但没有刷新页面如果我在此表单中填写相同的值并单击提交,
因为它说模型验证无效,所以对于相同的模型值,该函数从第二次尝试开始就无法正常工作。
它的错误是“userlist” System.Int[32] 得到 null
如何在没有页面定向的情况下正确清除此文本区域值(RedirecToAction())
【问题讨论】:
-
SomeModel 的默认构造函数是否实例化了一个新的 List
? -
是的,这适用于第一次尝试,从第二次尝试开始,对于相同的模型属性,这不起作用
-
你试过设置model.userlist = new List
();就在返回之前...当您返回模型时,您的列表对象似乎为空。
标签: c# asp.net-mvc razor