gpt4 book ai didi

c# - htmlAttributes 未与我的扩展中的标签生成器合并

转载 作者:太空狗 更新时间:2023-10-29 19:48:43 26 4
gpt4 key购买 nike

我正在做扩展。

public static MvcHtmlString Image(this HtmlHelper helper, string src, object htmlAttributes = null)
{
TagBuilder builder = new TagBuilder("img");
builder.MergeAttribute("src", src);
if (htmlAttributes != null) builder.MergeAttributes(htmlAttributes);
return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}

这一行:

if (htmlAttributes != null) builder.MergeAttributes(htmlAttributes);

错误:

The type arguments for method 'System.Web.Mvc.TagBuilder.MergeAttributes<TKey,TValue>(System.Collections.Generic.IDictionary<TKey,TValue>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

我试过:

if (htmlAttributes != null) builder.MergeAttributes((Dictionary<string, string>)htmlAttributes);

if (htmlAttributes != null) builder.MergeAttributes((Dictionary<string, object>)htmlAttributes);

我怎样才能让它工作?

最佳答案

最好使用 HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes) 而不是新的 RouteValueDictionary(htmlAttributes) 因为它支持用下划线拼写的数据破折号属性(例如 data_click)并且有不直接依赖于 RouteValueDictionary。

关于c# - htmlAttributes 未与我的扩展中的标签生成器合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6824231/

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