为什么@ Html.Label()会删除一些字符

Yot*_*ots 9 razor asp.net-mvc-3

当我在我的剃刀视图中使用以下代码时,它呈现<label for=""> someText</label>而不是,<label for="">1. someText</label>但我无法弄清楚为什么1.在渲染时被删除.

@Html.Label(String.Format("{0}. someText",1))
Run Code Online (Sandbox Code Playgroud)

编辑:以下代码<label for="">1# someText</label>按预期呈现.

@Html.Label(String.Format("{0}# someText",1))
Run Code Online (Sandbox Code Playgroud)

nem*_*esv 22

您滥用Html.Label方法.那是为了:

返回HTML标签元素以及 由指定表达式表示的属性属性名称.

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

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

@Html.Label("", String.Format("{0}. someText",1))
Run Code Online (Sandbox Code Playgroud)

或者只写出HTML:

<label>@String.Format("{0}. someText", 1)</label>
Run Code Online (Sandbox Code Playgroud)