如果我创建了这样的文本框:
@Html.TextBoxFor(p => p.FirstName)
有没有办法让我知道这个输入的ID是什么?其他控件或javascript引用此输入的方法?
我可以使用htmlAttributes参数标记它;但是,我希望有更直接的路线。
答案 0 :(得分:1)
您可以尝试使用此代码
扩展
public static MvcHtmlString GetFieldIdFor<TModel, TValue>(this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expres)
{
var htmlFieldName = ExpressionHelper.GetExpressionText(expres);
var inputFieldId = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(htmlFieldName);
return MvcHtmlString.Create(inputFieldId);
}
页
<textbox for="<%= Html.GetFieldIdFor(m => m.FirstName) %>">FirstName:</textbox >
脚本
<script> $.function('<%= Html.GetFieldIdFor(m => m.FirstName) %>'); </script>