gpt4 book ai didi

asp.net-mvc - RenderBody中的ViewBag是否被传递下来?

转载 作者:行者123 更新时间:2023-12-02 09:39:16 25 4
gpt4 key购买 nike

非常简单的问题。

我的布局页面看起来像

@RenderBody()
@{
if (ViewBag.IsInternal)
{
//do something here
}
}

部分看起来像

@{
ViewBag.IsInternal = false;
}

它正在做我认为应该做的事情吗?基本上,如果在局部中设置了 ViewBag.IsInternal,我就可以在布局中读取该设置值。

最佳答案

不会,您的部分 View 将获得自己的 ViewBag,因此修改它不会影响布局类中的 ViewBag。

但是,您可以将其作为引用传递到您的分部 View 中,并从您的分部 View 中修改布局 ViewBag,例如

布局

@{Html.RenderPartial("PartialView", Model, new ViewDataDictionary { {"LayoutViewBag", ViewBag}});

部分

@{
var layoutViewBag = ((dynamic)ViewData["LayoutViewBag"]);
layoutViewBag.IsInternal = true;
}

关于asp.net-mvc - RenderBody中的ViewBag是否被传递下来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16617631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com