2

次のようなテキストボックスを作成した場合:

@Html.TextBoxFor(p => p.FirstName)

この入力の ID を知る方法はありますか? 他のコントロールまたは JavaScript がこの入力を参照する方法は?

htmlAttributes パラメーターを使用してタグを付けることができます。ただし、もっと直接的なルートがあることを望んでいました。

4

1 に答える 1

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>
于 2012-09-13T19:28:58.403 に答える