表单 – 如何获取属性的表单名称

表单 – 如何获取属性的表单名称,第1张

概述在Razor我知道如果你写 @Html.HiddenFor(x => x.PropertyX.PropertyY) 它将生成HTML,如: <input type="hidden" name="PropertyX.PropertyY" value="..."> 并且(特别是)如果这是在编辑器模板中,它可能会生成此HTML: <input type="hidden" name="ParentProp 在Razor我知道如果你写

@HTML.HIDdenFor(x => x.PropertyX.PropertyY)

它将生成HTML,如:

<input type="hIDden" name="PropertyX.PropertyY" value="...">

并且(特别是)如果这是在编辑器模板中,它可能会生成此HTML:

<input type="hIDden" name="ParentProperty[12].PropertyX.PropertyY" value="...">

如何获取任意属性的名称?我假设必须有一些方法来使用MVC基础设施(可能是一些方法或类?)

解决方法 你可以为此编写一个自定义助手:

public static class nameExtensions{    public static string nameFor<TModel,TProperty>(        this HTMLHelper<TModel> HTML,Expression<Func<TModel,TProperty>> Expression    )    {        var partialname = ExpressionHelper.GetExpressionText(Expression);        return HTML            .VIEwContext            .VIEwData            .TemplateInfo            // You Could do the same with GetFullHTMLFIEldID            // if you were interested in the ID of the element            .GetFullHTMLFIEldname(partialname);    }}

然后:

@HTML.nameFor(x => x.PropertyX.PropertyY)
总结

以上是内存溢出为你收集整理的表单 – 如何获取属性的表单名称全部内容,希望文章能够帮你解决表单 – 如何获取属性的表单名称所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存