2 asp.net-mvc html-helper razor
@html.Label()和之间有什么区别@html.LabelFor()?
另外,在Razor上下文中强类型和非强类型视图的情况下,使用这些方法的语法是什么?
LabelFor将使用Model您在View上设置的内容来创建类型化的html帮助器.它使您的代码生活变得简单,并根据您的模型生成HTML,因为您在模型的属性上使用了Attributes这样的Display().
// Model
public class YourModel
{
[DisplayName("Some property")]
public string YourProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并在视图中......
// View
@model YourModel
@Html.LabelFor(m => m.YourProperty)
Run Code Online (Sandbox Code Playgroud)
Label只是用于在View中生成一个Label,没有必要通过它来关联Model.
// View
@Html.Label("YourProperty")
Run Code Online (Sandbox Code Playgroud)
两者都将生成此HTML输出
<label for="YourProperty">YourProperty</label>
Run Code Online (Sandbox Code Playgroud)
两者都会生成一个label标签.
如果您查看或PartialView不与型号类型的,你不能使用LabelFor,EditorFor,TextBoxForHTML帮手,只是Label,TextBox等等.
如果Html.Label("field")在非类型化的部分视图中添加a ,则将使用主视图的模型生成.每次从视图中获取局部视图时,都会传递模型.如果模型为null,则它只呈现label标记,如果模型具有此属性,则html帮助程序将读取该值并对其进行渲染.
查看用于Label扩展的asp.net mvc的内部代码源.
| 归档时间: |
|
| 查看次数: |
9298 次 |
| 最近记录: |