Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 返回操作无法正常工作_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 返回操作无法正常工作

Asp.net mvc 返回操作无法正常工作,asp.net-mvc,Asp.net Mvc,我有一个简单的创建操作,可以将产品保存到DB。保存产品后,我使用了return视图(new product());重置表单字段,但表单显示旧数据(提交表单前的数据)。我还使用返回视图(新产品(name=“test”);但它也不起作用。 有什么问题?产品已正确保存到DB(这意味着ModelState.IsValid为true)。我不想使用重定向操作 [HttpPost] public ActionResult New(Product product) { i

我有一个简单的创建操作,可以将产品保存到DB。保存产品后,我使用了return视图(new product());重置表单字段,但表单显示旧数据(提交表单前的数据)。我还使用返回视图(新产品(name=“test”);但它也不起作用。 有什么问题?产品已正确保存到DB(这意味着ModelState.IsValid为true)。我不想使用重定向操作

    [HttpPost]
    public ActionResult New(Product product)
    {
        if (ModelState.IsValid)
        {
            product.SubmitDate = DateTime.UtcNow;
            productRepository.Add(product);
            productRepository.Save();

            //ViewBag.Message = "product is saved";
            return View(new Product());
        }

        return View(product);
    }

我认为推荐的做法是使用
RedirectToAction()
,但如果您想按自己的方式尝试,您可以尝试

 ModelState.Clear();
 return View(new Product());

如果要修改已处于模型状态的属性,则需要将其删除,或者绑定到此值的HTML帮助程序将始终使用模型状态中的值,而不是您修改的值:

ModelState.Remove("SubmitDate");
product.SubmitDate = DateTime.UtcNow;
return View(product);
如果要清除所有属性,最好重定向或清除整个模型状态集合:
ModelState.clear()