我正在数据库中提交一些数据,提交后我想显示同一页面。但我正在查看页面,文本框值不为空。
ModelState.Clear();
我曾经用来清除文本框。
但文本框值仍然保留。请建议我在mvc3中提交后清除模型。
public ActionResult AddNewCategory(CategoryViewModel model) {
if (ModelState.IsValid) {
int result = 0;
var categoryEntity = new Category {
CategoryName = model.CategoryName, CategorySlug = model.CategorySlug
};
result = Convert.ToInt32(_categoryRepository.AddNewCategory(categoryEntity));
if (result > 0) {
ModelState.Clear();
}
}
return View(model);
}
您将获得相同的模型,因为您将其传递给视图View(model)
。这里有几个选项:要么传递一个空模型,要么重定向到后操作的 get 变体。
1)
if (ModelState.IsValid)
{
//saving
if (result > 0)
{
ModelState.Clear();
return View(new CategoryViewModel());
}
}
2)
if (ModelState.IsValid)
{
//saving
if (result > 0)
{
return RedirectToAction("AddNewCategory");
}
}
PS:我强烈建议使用第二种方法,因为您可能想要进行其他数据库调用来构建模型,并且您不想在多个地方执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)