引用使用TextBoxFor()创建的控件ID

时间:2010-03-24 17:42:01

标签: asp.net-mvc-2

ASP.NET MVC,跟上发布/文档有时会很棘手,所以也许我只是没有得到一些东西......我想使用TextBoxFor() ,使用LabelFor()等等,很好,所有的魔力都发生在我身上。

但如果我创造......

 <%=Html.TextBoxFor(x => x.LastName) %>

并且希望用jQuery做一些不错的事情,我如何获得创建的控件的ID?我可以添加一个CSS类并使用它来附加我的jQuery,但是对于我正在做的事情,我想要ID ...所以我可以做类似的事情:

 $('#LastName').(...)

我知道我可以在这种情况下解决这个问题,然后手动破解它,但有更简洁的方法吗?

4 个答案:

答案 0 :(得分:12)

我认为你可以这样做:

<%=Html.TextBoxFor(x => x.LastName, new { id = "LastName" })%>

Overloads of TextBoxFor

答案 1 :(得分:7)

由于MVC4有一种内置的方法 - @Html.IdFor()

Here is a sample使用它:

@Html.IdFor(m => m.Filters.Occurred.From)

,结果就像

Filters_Occurred_From

答案 2 :(得分:0)

作为一个兴趣点,似乎Html.Textbox()代码将生成一个id,复制以字​​母(a-z)开头的任何内容的控件名称。但是,如果您的“姓名”以数字开头,则根本不会打扰。

这是一个非常棒的“功能”,让我在过去一小时左右的时间里感到悲伤。

答案 3 :(得分:-1)

默认情况下,您的控件ID是您的模型绑定值,您也可以使用firebug。选择控件并默认获取控件ID。

相关问题