有没有办法获得用html帮助器生成的字段生成的客户端ID?
我有几个组件,有时是在另一种形式,我不会附加JavaScript事件给他们。
所以,对于样本,我想要有:
@Html.TextBoxFor(model => model.client.email) <script> $('#@getmyusercontrolid(model=>model.client.email)').val("put your mail here"); </script>
解决方法
我用这个帮手:
public static partial class HtmlExtensions { public static MvcHtmlString ClientIdFor<TModel,TProperty>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel,TProperty>> expression) { return MvcHtmlString.Create(htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(ExpressionHelper.GetExpressionText(expression))); } }
像其他任何帮助者一样使用它:@ Html.ClientIdFor(model => model.client.email)