gpt4 book ai didi

forms - 如何获取属性的表单名称

转载 作者:行者123 更新时间:2023-12-04 23:29:25 24 4
gpt4 key购买 nike

在 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)

关于forms - 如何获取属性的表单名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7327215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com