Muk*_*mar 3 asp.net-mvc asp.net-mvc-3
我在数据库中提交一些数据,提交后我想显示相同的页面.但我正在查看文本框值不为空的页面.
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);
}
Run Code Online (Sandbox Code Playgroud)
Vse*_*nin 16
你得到了相同的模型,因为你将它传递给视图View(model).这里有几个选项:要么传递空模型,要么重定向到post post的get变体.
1)
if (ModelState.IsValid)
{
//saving
if (result > 0)
{
ModelState.Clear();
return View(new CategoryViewModel());
}
}
Run Code Online (Sandbox Code Playgroud)
2)
if (ModelState.IsValid)
{
//saving
if (result > 0)
{
return RedirectToAction("AddNewCategory");
}
}
Run Code Online (Sandbox Code Playgroud)
PS:我强烈建议您使用第二种方法,因为您可能希望进行其他数据库调用来构建模型,而您不希望在多个位置执行此操作.