gpt4 book ai didi

c# - 在匿名类型的属性名称中使用异常(exception)字符(减号)

转载 作者:可可西里 更新时间:2023-11-01 07:43:11 31 4
gpt4 key购买 nike

问题

我正在尝试使用名为 data-maxchars 的属性声明一个匿名类型.

因为减号是一个运算符,它将我想要的属性名称降级(?)为一个操作,我得到一个编译错误:Invalid anonymous type member declarator.

我知道我可以使用@转义保留字,但我不知道是否有任何方法可以转义减号。

object attributes = (object)new { @class = "foo" } // OK

起源

匿名类型作为 object 传递TextAreaExtensions.TextArea 的参数: <%= Html.TextArea(Model.Field.Id, val, rows, cols, attributes)%> .这会生成一个具有传递属性的输入。

我想使用 JS 渐进增强来限制用户可以插入的字符数。
所以我正在使用 data-我的属性前缀:http://ejohn.org/blog/html-5-data-attributes/

备选方案

  • 写这篇文章时我注意到有一个 overload它采用 IDictionary 而不是对象。
  • 我可以手写输入。
  • 我可以使用不同的前缀并忽略标准。 (嘘!)

但如果有一种使用有趣的属性名称的方法,我想学习一下。

最佳答案

从 ASP.NET MVC 3 开始,您可以使用下划线 (_),它会自动替换为 - 以生成 HTML。魔术是在 HtmlHelper.AnonymousObjectToHtmlAttributes 中完成的。

例如:new { data_abc = "def"} 将生成为 data-abc="def"

关于c# - 在匿名类型的属性名称中使用异常(exception)字符(减号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7064351/

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