【问题标题】:ViewBag does not show messege in viewViewBag 不在视图中显示消息
【发布时间】:2012-08-14 12:40:48
【问题描述】:

我在一个视图中创建了 2 个 div。 显示我使用局部视图的内容并显示我使用 Viewbag 的错误,并显示如下:

 <div id="tabs">
<ul>
    <li><a href="#tabs-1">Publish Exhibition</a></li>
    <li><a href="#tabs-2">Edit Existing Exhibition</a></li>
</ul>
<div id="tabs-1"  style=" width:900px; height:400px;">
<font color="red">@ViewBag.msg1</font>
    @{Html.RenderPartial("PubExhi", Model);}
</div>
<div id="tabs-2">
    @{Html.RenderPartial("EditExhi");}
</div>
</div>

我称这个视图为

 ViewBag.msg1 = "record not updated!!!!";
   modelList = setIndex();
                                return View("Index", modelList);

除了 viewbag 外,所有东西都运行良好 它没有显示任何消息

当我调试它时,我可以看到包含适当值的 viewbag 但它没有显示在页面上

我也尝试从局部视图中显示它,但没有收到任何消息

任何人都可以帮助我

【问题讨论】:

    标签: asp.net-mvc-3 viewbag


    【解决方案1】:

    您需要将它分配给您在服务器方法中发送的视图:假设我的视图结果是详细信息,但您正在发送视图 DetailingList,那么您需要为此视图的视图包分配您想要的消息:

     var partialViewRes = new PartialViewResult();
     partialViewRes.ViewName = "DetailingList";
     partialViewRes.ViewData.Model = list;
     partialViewRes.ViewBag.ErrorMessage = "Error on loading";
    

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      它应该可以工作,我尝试了完全相似的东西,它对我有用 -

          <div id="tabs">
          <ul>
              <li><a href="#HWTab">Tab 1</a></li>
              <li><a href="#AdminTab">Tab 2</a></li>
          </ul>
          <div id="HWTab">
          <font color="red">@ViewBag.msg</font>
              @{Html.RenderPartial("_HardwareAssetView", Model.hardwareAssetVM);}
          </div>
          <div id="AdminTab">
              @{Html.RenderPartial("_AdminAssetView", Model.adminAssetVM);}
          </div>
      

      【讨论】:

      • 我在我的其他视图中尝试过这个,它显示消息但不在此视图中
      • 您已经对特定的 div 应用了一些样式,即。高度和宽度,可能会阻止您的消息正确显示。您是否尝试过更改该值。
      • 我检查了该页面的 Viewsource 文件,但它显示的是 而不是 msg..即使问题是 bcoz 样式属性,它至少 shd在查看源文件中显示....我有礼貌吗??
      • 是的..you r rit..如果您没有不小心将空字符串传递给此视图包,这似乎很奇怪..!!我赞成您的问题,也可以尝试使用 Tempdata 或 Viewdata 而不是 Viewbag。
      • 您需要将它分配给您在服务器方法中发送的视图:假设我的viewresult是克里特岛,但您正在发送视图CreateNew,那么您需要将此视图的viewbag分配您想要的消息: var partialViewRes = new PartialViewResult(); partialViewRes.ViewName = "详细信息"; partialViewRes.ViewData.Model = 列表; partialViewRes.ViewBag.ErrorMessage = "加载时出错";
      【解决方案3】:

      使用@Html.Raw(ViewBag.msg1)显示.....

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-12
        • 1970-01-01
        • 2020-05-19
        • 1970-01-01
        • 1970-01-01
        • 2017-02-07
        • 1970-01-01
        • 2020-02-05
        相关资源
        最近更新 更多