【问题标题】:ViewBag is not received in view after post action发布操作后视图中未收到 ViewBag
【发布时间】:2018-03-02 19:03:26
【问题描述】:

当我执行方法时,它会返回一条错误消息,我想在引导模式中显示该消息。所以我把 Message 像这样放在 ViewBag 中:

    [HttpPost]
    public ActionResult EnviarIncrementos(CapturaViewModel model)
    {
var res = service.GetService(fechaMovimiento);
 ViewBag.Message = res.Error;
 return RedirectToAction("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 没有收到。为什么会发生?

【问题讨论】:

    标签: javascript c# asp.net asp.net-mvc viewbag


    【解决方案1】:

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

    ViewBag, ViewData and TempData

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 2015-12-26
      • 2021-02-05
      相关资源
      最近更新 更多