加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在MVC3中的数据库中提交数据后清除模型

发布时间:2020-12-16 09:18:09 所属栏目:asp.Net 来源:网络整理
导读:我在数据库中提交一些数据,提交后我想显示相同的页面.但我正在查看文本框值不为空的页面. ModelState.Clear(); 我习惯清除文本框. 但仍然保留文本框值.请建议我在mvc3中提交后清除模型. public ActionResult AddNewCategory(CategoryViewModel model) { if (
我在数据库中提交一些数据,提交后我想显示相同的页面.但我正在查看文本框值不为空的页面.

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:我强烈建议您使用第二种方法,因为您可能希望进行其他数据库调用来构建模型,而您不希望在多个位置执行此操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读