我在jQuery中为我的项目做了很多编码,但是我需要帮助获取由Helper生成的带有For后缀的参数名称。
当我这样做时:
Html.TextBoxFor(model => model.SomeTextParameter)
在纯HTML中生成了id:“SomeTextParameter”。我想在我在jQuery中使用它的每个地方自动生成它的id。怎么做?
或者,我总是可以通过使用没有“For”的帮助器来指定它的名称:
Html.TextBox("SomeTextParameter", this.Model.SomeTextParameter)
在这种情况下,我可以轻松控制ID,但是当我想对标签使用数据注释时,我发现连接[Display(Name = "Really important text parameter")]
的另一个问题
Html.Label("SomeTextParameterLabel", <what to enter here?>)
。
当我使用时:
Html.LabelFor(model => model.SomeTextParameter)
它绑定到显示名称,因此它显示为我想要的。
任何想法如何解决第一或第二个问题?
答案 0 :(得分:1)
public class LogOnModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
<ol>
<li>
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</li>
<li>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</li>
<li>
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
</li>
</ol>
答案 1 :(得分:0)
您可以编写自己的帮助程序来获取生成的ID。这应该是有用的https://stackoverflow.com/a/5419261/472126
之后,您应该可以使用此
获取生成的ID<%: Html.ClientIdFor(model => model.SomeTextParameter) %>