Asp.net mvc 为什么Html.TextBoxFor和Html.LabelFor显示不同的值?
在我下面的视图中,为什么我在标签中得到文本“name”,在文本框中得到name的值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
@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()
查看属性值。