2
如果我創建像這樣一個文本框:Asp.Net MVC4:確定的HtmlHelper的ID生成表單輸入
@Html.TextBoxFor(p => p.FirstName)
有沒有辦法,我知道ID是什麼此輸入?其他控件或JavaScript的方式來引用此輸入?
我可以使用htmlAttributes參數標記它;不過,我希望有更直接的路線。
如果我創建像這樣一個文本框:Asp.Net MVC4:確定的HtmlHelper的ID生成表單輸入
@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>
完美的作品;謝謝! – John
對不起,我誤會了從我的第一個評論你的問題。 – Mansfield