次のようなテキストボックスを作成した場合:
@Html.TextBoxFor(p => p.FirstName)
この入力の ID を知る方法はありますか? 他のコントロールまたは JavaScript がこの入力を参照する方法は?
htmlAttributes パラメーターを使用してタグを付けることができます。ただし、もっと直接的なルートがあることを望んでいました。
次のようなテキストボックスを作成した場合:
@Html.TextBoxFor(p => p.FirstName)
この入力の ID を知る方法はありますか? 他のコントロールまたは JavaScript がこの入力を参照する方法は?
htmlAttributes パラメーターを使用してタグを付けることができます。ただし、もっと直接的なルートがあることを望んでいました。
このコードで試すことができます
拡大
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>