gpt4 book ai didi

asp.net-mvc - 在 Tag Helper 中获取属性名称

转载 作者:行者123 更新时间:2023-12-02 15:18:02 24 4
gpt4 key购买 nike

ASP.NET Core 引入了自定义标签助手,可以在如下 View 中使用:

<country-select value="CountryCode"  />

但是,我不明白如何在我的类中获取模型属性名称:

public class CountrySelectTagHelper : TagHelper
{
[HtmlAttributeName("value")]
public string Value { get; set; }

public override void Process(TagHelperContext context, TagHelperOutput output)
{
...
// Should return property name, which is "CountryCode" in the above example
var propertyName = ???();
base.Process(context, output);
}
}

在以前的版本中,我可以通过使用 ModelMetadata 来做到这一点:

var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
var property = metadata.PropertyName; // return "CountryCode"

我如何在新的 ASP.NET 标签助手中做同样的事情?

最佳答案

为了获取属性名称,您应该在您的类中使用 ModelExpression:

public class CountrySelectTagHelper : TagHelper
{
public ModelExpression For { get; set; }

public override void Process(TagHelperContext context, TagHelperOutput output)
{
var propertyName = For.Metadata.PropertyName;
var value = For.Model as string;

...

base.Process(context, output);
}
}

关于asp.net-mvc - 在 Tag Helper 中获取属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39200960/

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