【问题标题】:Why does Html.Label() not work with periods?为什么 Html.Label() 不适用于句点?
【发布时间】:2021-03-02 16:49:56
【问题描述】:

我正在使用 Html.Label(strings) 输出几个字符串。

当我传递一个带有句点的值时,它只输出空格

Html.Label(公司)

例如<%: Html.Label("Bill Co.")%>

Company 是一个动态值,如果值是“Bill Co”,它将起作用,但如果它是“Bill Co.”,则不会,唯一的区别是那个时期。

我应该能够按照规定将任何字符串传递给它 HhtmlHelper.Label 通过 msdn

  public IHtmlString Label(
        string labelText
    )

有什么想法吗?

【问题讨论】:

  • 因为 mircosoft sux

标签: asp.net-mvc-3


【解决方案1】:

你也可以使用

<%= Html.Label("","Bill Co.")%>

使用Html.label()时,参数需要是一个表达式,标识要显示的属性和for属性。

【讨论】:

  • 这为我节省了很多时间!谢谢。 注意: 您也可以在 Razor 语法中使用它,即 @Html.Label("", "Bill Co.") - 它会起作用(当然,您也可以在此处使用属性,例如:@Html.Label("", myObj.FirmName)。它只需要在范围。
  • 我不敢相信我以前从未遇到过这种情况......或者如果有人在文本中包含句点,那么会有多少东西会消失。吓人
【解决方案2】:

使用Html.label() 时,参数需要是一个表达式,用于标识要显示的属性。我认为您的模型中没有名为 Bill Co. 的属性。

你需要像这样指定它:

<%: Html.Label("Name")%> 

或者这个:

<%: Html.Label(model => model.Name)%>

如果您只需要输出一个常量值作为标签,请使用&lt;label&gt; 标签:

<label>Bill Co.</label>

【讨论】:

  • 它的动态值,如果值为“Bill Co”则有效,如果为“Bill Co.”则无效​​,唯一的区别是那个时期。
  • @Fabii:您仍在错误地使用帮助程序。您不应该像这样将它用于常量字符串,因为它会尝试将其解释为属性名称。如果您不指定.,它会起作用。我还链接了文档,该文档还声明它需要一个标识要显示的属性的表达式。
【解决方案3】:

我使用了 ToHtmlString() 并解决了这个问题。

谢谢

【讨论】:

  • 用过ToHtmlString()Html.Label() 怎么样?
  • 本身没有
【解决方案4】:

有点老了,但是因为学习 asp.net core 意味着要搜索很多东西,所以我提出了一个解决方案:

@Model.yourVar

很多示例都在使用 @Html.DisplayName(Model.yourVar) 之类的。除了 DisplayName() 不用于显示简单的字符串,文档是单行的,没有示例。

【讨论】:

    【解决方案5】:

    使用简单的标签标签:

    &lt;label&gt;Bill co.&lt;/label&gt;

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 2019-10-03
      • 2023-03-11
      • 1970-01-01
      • 2021-05-23
      • 2022-12-15
      相关资源
      最近更新 更多