我想让一个小程序能够在应该从表单中获取数据的控制器上发布数据。我的问题是我不知道如何以编程方式检索 ASP.NET MVC 将用于为每个属性构建 HTML 控件的 NAME 和 ID 属性(以便我可以将它们提供给小程序以使用它们进行发布)。
如何检索 APS.NET MVC 在为模型变量构建 HTML 控件时(例如使用时@Html.TextAreaFor()
)将使用的 NAME 和 ID 属性值?
编辑: 我想我只需要 NAME 属性。似乎我可以使用反射得到这个,但我不确定......
我想让一个小程序能够在应该从表单中获取数据的控制器上发布数据。我的问题是我不知道如何以编程方式检索 ASP.NET MVC 将用于为每个属性构建 HTML 控件的 NAME 和 ID 属性(以便我可以将它们提供给小程序以使用它们进行发布)。
如何检索 APS.NET MVC 在为模型变量构建 HTML 控件时(例如使用时@Html.TextAreaFor()
)将使用的 NAME 和 ID 属性值?
编辑: 我想我只需要 NAME 属性。似乎我可以使用反射得到这个,但我不确定......
您可以像这样创建一个 html 助手来获取模型属性的 html 名称:
public static string FullHtmlNameFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
if (htmlHelper == null) { throw new ArgumentNullException("htmlHelper"); }
if (expression == null) { throw new ArgumentNullException("expression"); }
return htmlHelper.ViewData.TemplateInfo.GetFullHtmlFieldName(ExpressionHelper.GetExpressionText(expression));
}
现在还有
Html.FieldNameFor()
Html.FieldIdFor()