c# - 如何检索 ASP.NET MVC 在为模型属性构建 HTML 控件时将使用的 NAME 和 ID 属性值

标签 c# asp.net-mvc model-binding

我想让一个小程序能够将数据发布到应该从表单获取数据的 Controller 上。我的问题是,我不知道如何以编程方式检索 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));
    }

关于c# - 如何检索 ASP.NET MVC 在为模型属性构建 HTML 控件时将使用的 NAME 和 ID 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15699366/

相关文章:

c# - 如何通过 xamarin.forms 使用 Visual Studio for Mac 中的 iOS 模拟器/Android 模拟器

c# - Json.NET,可以扩展SerializeXmlNode来检测数字吗?

asp.net-mvc - 如何从 asp.net mvc unittest 中的 ViewResult 获取模型?

javascript - Ajax.Begin 正在使用 MVC 5 重新提交整个页面

c# - 更改使用泛型的抽象类的实例

c# - 为什么.NET Framework 中的某些委托(delegate)实例的命名带有后缀thunk?

c# - Asp.Net MVC 3自定义模型绑定(bind)变量对象

c# - 如何在数据操作方法之外调用 TryUpdateModel

asp.net-mvc-3 - 部分 View 中的表单 - 需要正确的答案

c# - 使用 WinAPI 获取文件夹的选定项目