更改“Html.LabelFor”中的“for”属性

and*_*lzo 1 .net c# asp.net-mvc html-helper razor

我需要更改id我的模型的属性,所以我id在方法中TextBoxForHTML helper. 不过,这显然没有改变idfor属性使用该方法时,LabelForHTML helper

@Html.TextBoxFor(model => model.MyProperty, new { id = "CustomId" })
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变for使用该方法时,属性LabelForHTML helper?。因为此方法不允许更改属性。

@Html.LabelFor(model => model.MyProperty)
Run Code Online (Sandbox Code Playgroud)

也许有一个属性可以更改id模型属性中的 。

谢谢

编辑评论

我使用LabelFor是因为我需要从以下名称中获取名称DataAnnotation Description

[Display(Name = "Name of my property")]
public string MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

use*_*976 5

视图模型:

public IEnumerable<SportingLisbon> SportingLisbonList { get; set; }
Run Code Online (Sandbox Code Playgroud)

看法:

 @Html.LabelFor(model => model.SportingLisbonList, new { @for = "IdSportingLisbon" })
Run Code Online (Sandbox Code Playgroud)

浏览器:
<label for="IdSportingLisbon" >里斯本竞技</label>

描述:在 LabelFor 上
设置不同的for属性。


没有new { @for = "IdSportingLisbon" }
浏览器:
<label for="SportingLisbonList" >Sporting Lisbon</label>


网络配置:
<compilation debug="true" targetFramework="4.5" />

<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
Run Code Online (Sandbox Code Playgroud)