gpt4 book ai didi

c# - ASP.NET MVC : Why is `ToMvcHtmlString` not public?

转载 作者:IT王子 更新时间:2023-10-29 04:47:15 26 4
gpt4 key购买 nike

我正在尝试编写我自己的小 HTML 助手,它的行为很像 DropDownListFor 但它不会受到相同的 problems 的影响。我以前遇到过。我们不讨论 DropDownListFor 是否有缺陷——这不是这个问题的目的。

无论如何,MVC 人员将 ToMvcHtmlString 设为内部而不是公开的原因是什么?

最佳答案

我想我会为那些可能正在寻找解决方法并偶然发现这个问题的人发布一个简单的解决方法。

虽然 ToMvcHtmlString 是内部的,但很容易绕过它,因为它使用公共(public)方法:

来自 MVC 源:

internal MvcHtmlString ToMvcHtmlString(TagRenderMode renderMode) {
return MvcHtmlString.Create(ToString(renderMode));
}

MvcHtmlString.Create 和 TagBuilder.ToString 都是公开的,所以只需替换

return tagBuilder.ToMvcHtmlString(TagRenderMode.Normal);

return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.Normal));

一切顺利!对我很有用。不知道他们为什么还要费心制作一个单独的内部方法。

关于c# - ASP.NET MVC : Why is `ToMvcHtmlString` not public?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3353007/

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