如何在不将数据插入字段的情况下重新渲染视图?

时间:2011-03-11 17:31:36

标签: asp.net-mvc-3

让我们看看下面的代码。当编译器从HttpPost操作中退出时,我想用msg对象重新显示空白视图。怎么做?我不想使用jQuery来清除字段,因为我有许多DropDownLists存储在ViewData字典中(在HttpGet操作中)。

我已阅读主题RedirectToAction with parameter(Kurt的回答),但我不想修改我的网址。

下面的代码将所有插入的数据重新显示到View中。

    [HttpGet]
    public ActionResult Add()
    {       
        /*insert many objects to the ViewData dictionary*/     

        return View("Add");
    }

    [HttpPost]
    public ActionResult Add(Item myObj)
    {
        /*do some action*/

        ViewData["msg"] = "blabla";

        return View("Add");
    }

2 个答案:

答案 0 :(得分:3)

尝试清除模型状态:

[HttpPost]
public ActionResult Add(Item myObj)
{
    ModelState.Clear();
    ViewData["msg"] = "blabla";
    return View("Add");
}

答案 1 :(得分:0)

我强烈建议将PRG patternTempData结合使用以显示消息。