如何在ASP.NET MVC3提交数据至数据库后,自动清除模型实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计349个文字,预计阅读时间需要2分钟。
我在数据库中提交了一些数据,提交后我想显示相同的页面。但我在查看文本框值时,发现文本框值不为空。我尝试使用ModelState.Clear()清除模型状态;我也尝试了清除文本框值。但文本框值仍然保留。请建议我在MVC3中提交后清除模型。
我在数据库中提交一些数据,提交后我想显示相同的页面.但我正在查看文本框值不为空的页面.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(模型).这里有几个选项:要么传递空模型,要么重定向到post post的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:我强烈建议您使用第二种方法,因为您可能希望进行其他数据库调用来构建模型,而您不希望在多个位置执行此操作.
本文共计349个文字,预计阅读时间需要2分钟。
我在数据库中提交了一些数据,提交后我想显示相同的页面。但我在查看文本框值时,发现文本框值不为空。我尝试使用ModelState.Clear()清除模型状态;我也尝试了清除文本框值。但文本框值仍然保留。请建议我在MVC3中提交后清除模型。
我在数据库中提交一些数据,提交后我想显示相同的页面.但我正在查看文本框值不为空的页面.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(模型).这里有几个选项:要么传递空模型,要么重定向到post post的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:我强烈建议您使用第二种方法,因为您可能希望进行其他数据库调用来构建模型,而您不希望在多个位置执行此操作.

