ModelState.Clear();不管用?

时间:2013-02-22 13:12:43

标签: asp.net asp.net-mvc-4

为什么我不清楚? ModelState.Clear();不行!以更新的形式再次发送数据。尝试了许多不同的解决方案,但都是徒劳的,所以希望在这里找到解决这个问题的方法。请帮帮我!  “控制器”

  public ActionResult Yandex()
            {
                ViewData["sucsess"]=" ";
                return View();
            }
            [HttpPost]
            public ActionResult Yandex(LoginModel model)
            {

                if (model.option1)
                {
                    md.Modules_Update(1,1);
                    ViewData["sucsess"] = "• Дані успішно збережені!";
                }
                else
                {
                    md.Modules_Update(1, 0);
                    ViewData["sucsess"] = "• Дані успішно збережені!";
                }
                ModelState.Clear();
                return View( );
            }

“查看”

 @using (Html.BeginForm())
    {
        Settings exit = new Settings();
        <span class="property">Модуль включений: </span>
        <span class="property">Так</span>
        if (exit.Modules(1).ToString() == "1")
        {
        @Html.RadioButtonFor(m => m.option1, true, new { @checked = "checked", id = "1", @class="radio" })
        }
        else
        {
        @Html.RadioButtonFor(m => m.option1, true, new { id = "1",  @class="radio" })
        }
        <span class="property">Ні</span>
        if (exit.Modules(1).ToString() == "0")
        {
        @Html.RadioButtonFor(m => m.option1, false, new { @checked = "checked", id = "0",  @class="radio" })
        }
        else
        {
        @Html.RadioButtonFor(m => m.option1, false, new { id = "0",  @class="radio" })
        }
        <input type="submit" value="Зберегти" class="save"  />
    }
    <span class="property_col">@ViewData["sucsess"]</span>

1 个答案:

答案 0 :(得分:1)

POST请求中仍然存在值。正确的方法是重定向到您的GET操作:

[HttpPost]
public ActionResult Yandex(LoginModel model)
{
    if (model.option1)
    {
        md.Modules_Update(1,1);
        TempData["sucsess"] = "• Дані успішно збережені!";
    }
    else
    {
        md.Modules_Update(1, 0);
        TempData["sucsess"] = "• Дані успішно збережені!";
    }

    return RedirectToAction("Yandex");
}

另请注意,我在重定向期间使用TempData传输邮件。因此,您可能需要相应地调整视图:

<span class="property_col">@TempData["sucsess"]</span>