1

フォームがクリアされないのはなぜですか? 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>
4

1 に答える 1

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>
于 2013-02-22T13:17:06.177 に答える