post 操作后视图中未收到 ViewBag

ViewBag is not received in view after post action

当我执行方法时 return 我想在 bootstrap 模式中显示一条错误消息。所以我像这样将 Message 放入 ViewBag 中:

    [HttpPost]
    public ActionResult EnviarIncrementos(CapturaViewModel model)
    {
var res = service.GetService(fechaMovimiento);
 ViewBag.Message = res.Error;
 return RedirectToAction("Index");
    }

因此,当页面重定向到 Index 时,我想获取 ViewBag 并将其显示为模态,如下所示:

<div class="modal" id="myModal" tabindex="-1" role="dialog" data-keyboard="false" data-backdrop="static" style="overflow: hidden">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
        <h4 class="modal-title" id="myModalLabel">Agregar nuevo archivo</h4>
      </div>
      <div class="modal-body col-md-12" id="modal-body">
        <div class="row">
          <div class="col-md-12">
            Resultados
            <br />
            <div class="" style="height: 150px; overflow: auto; margin-bottom:10px;">
              <pre id="resultado">@ViewBag.Message</pre>
            </div>
          </div>
        </div>
        <div class="row">
          <div class="col-md-6">
            <button type="reset" id="limpiar" class="btn btn-default">Limpiar</button>
          </div>
          <div class="col-md-6 text-right">
            <button type="button" class="btn btn-default" data-dismiss="modal" onClick="window.location.reload();">Salir</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

JS:

 <script>
        $(document).ready(function () {
            if('@ViewBag.Message' != "") {
       $("#myModal").modal();
     }
});
    </script>

但是模态没有出现,消息也没有。我做错了什么?

注意:在chrome调试JS中加载页面时更改为:

       $(document).ready(function () {
            if('' != "") {
       $("#myModal").modal();
     }
});

所以@ViewBag没有收到。为什么会发生?

我认为您不能在重定向到另一个视图时使用 ViewBag,为此您可以使用 TempData 或 Session。 我认为这个参考会有帮助

ViewBag, ViewData and TempData