gpt4 book ai didi

asp.net-mvc - 为什么 HtmlHelper.ViewBag 与 HtmlHelper.ViewContext.ViewBag 不同

转载 作者:行者123 更新时间:2023-12-02 05:19:10 26 4
gpt4 key购买 nike

我已经为 HtmlHelper 编写了扩展方法,该方法是从需要访问 ViewBag 以获取页面设置的信息的母版页调用的。

这是方法签名:

public static string BuildFavoritesTitle(this HtmlHelper htmlHelper) { }

我注意到如果我访问方法内部

htmlHelper.ViewContext.ViewBag

我得到空 ViewBag,但如果访问

htmlHelper.ViewBag

我得到了“正确的”ViewBag。我所说的正确是指 ViewBag 以及添加到内部页面中的项目。

我只是想知道有什么区别,为什么有多个 ViewBag?

最佳答案

您在 View 数据字典中设置值的目的是什么?是否有某种属性来确定如何呈现控件?

考虑向 BuildFavoritesTitle 添加其他参数

public static string BuildFavoritesTitle(this HtmlHelper htmlHelper, string parameter) { }

然后从您的 View 中调用辅助方法(我不确定这是否是您的目标?):

@Html.BuildFavoritesTitle("myParameter")

此外,如果它是一个控件,或者您尝试在 html 帮助器中构建某种标记,请考虑使用 MvcHtmlString 作为返回类型。

关于asp.net-mvc - 为什么 HtmlHelper.ViewBag 与 HtmlHelper.ViewContext.ViewBag 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15997156/

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