asp.net-mvc-3 - 为什么 @Html.Label() 删除一些字符

标签 asp.net-mvc-3 razor

当我在 Razor View 中使用以下代码时,它会呈现 <label for=""> someText</label>而不是<label for="">1. someText</label>但我不明白为什么 1.渲染时被删除。

@Html.Label(String.Format("{0}. someText",1))

编辑: 以下代码呈现 <label for="">1# someText</label>正如预期的那样。

@Html.Label(String.Format("{0}# someText",1))

最佳答案

您滥用了 Html.Label方法。它的用途是:

Returns an HTML label element and the property name of the property that is represented by the specified expression.

这就是为什么如果第一个参数中有一个点.,它会感到困惑,因为它需要一个属性表达式。

但是,您可以使用第二个重载:

@Html.Label("", String.Format("{0}. someText",1))

或者直接写出 HTML:

<label>@String.Format("{0}. someText", 1)</label>

关于asp.net-mvc-3 - 为什么 @Html.Label() 删除一些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10227775/

相关文章:

html - 当我将鼠标指针悬停在链接上时如何完全填充导航栏高度?

.net - System.Web.Razor 与 System.Web.WebPages.Razor

c# - ASP.net 更改密码验证器

entity-framework - MVC3和代码优先迁移-自创建数据库以来 “model backing the '等上下文已更改”

css - 为什么我的图像重复占据整个区域?

c# - 如何将 MvcHtmlString 呈现为 HTML

asp.net-mvc-3 - 如何在 ASP.NET MVC 3 解决方案中将 NServiceBus 与 NServiceBus.Ninject-CI 一起使用的示例

asp.net-mvc-3 - DropDownListFor - 不选择 "Selected"值

c# - 在 MVC3 中的每个 Action 之前运行一个方法

asp.net-mvc - 如何持久化传递给局部 View 的数据模型?