Asp.net mvc 为什么Html.TextBoxFor和Html.LabelFor显示不同的值?

Asp.net mvc 为什么Html.TextBoxFor和Html.LabelFor显示不同的值?,asp.net-mvc,asp.net-mvc-4,html.textboxfor,Asp.net Mvc,Asp.net Mvc 4,Html.textboxfor,在我下面的视图中,为什么我在标签中得到文本“name”,在文本框中得到name的值 @model IEnumerable<string> @foreach(var names in Model) { <div class="label">@Html.LabelFor(m=>names)</div> <div class="input-block-level">@Html.TextBox

在我下面的视图中,为什么我在标签中得到文本“name”,在文本框中得到name的值

    @model IEnumerable<string>

    @foreach(var names in Model)
    {
        <div class="label">@Html.LabelFor(m=>names)</div>
        <div class="input-block-level">@Html.TextBoxFor(m=>names)</div>
        <br/>
    }
@model IEnumerable
@foreach(模型中的变量名称)
{
@LabelFor(m=>names)
@Html.TextBoxFor(m=>names)

}
如果我运行这个,我会在浏览器中看到以下视图


Html.LabelFor
从模型属性读取元数据并显示属性的名称。 您可以使用
Display
DisplayName
属性配置显示的名称。 您的模型没有属性,因此在您的示例中,
LabelFor
是完全无用的

你想要实现什么? 如果要使用字符串值渲染标签,只需创建标签:

<label>@names</label>
@名称

您希望得到什么样的结果?是否将值分配给要传递给视图的模型?标签是否应提供与textboxfor相同的文本?否,
@Html.LabelFor()
为属性返回一个
元素,而
@Html.textboxfor()
查看属性值。