gpt4 book ai didi

c# - 如何显示模型名称(基本上是 LabelFor 的内部文本)?

转载 作者:行者123 更新时间:2023-11-30 18:43:23 26 4
gpt4 key购买 nike

我想要打印模型的成员名称/显示名称的功能。这类似于使用 HtmlHelper<TModel>.LabelFor但将文本 包裹在 label 中. MVC 中是否已经内置了用于此确切目的的扩展方法?我找不到所以我看了看LabelFor使用 Reflector 并制作了一个 LabelTextFor方法:

public static string LabelTextFor<TModel, TValue>(this HtmlHelper<TModel> source, Expression<Func<TModel, TValue>> expression)
{
var memberName = ExpressionHelper.GetExpressionText((LambdaExpression)expression);

var metadata = ModelMetadata.FromLambdaExpression(expression, new ViewDataDictionary<TModel>());

return metadata.DisplayName ?? metadata.PropertyName ?? memberName.Split('.').Last();
}

我想我也许应该更改此方法的名称。感谢您的想法。

最佳答案

MVC Shipped HTML Extension 不是为自定义外观而设计的,而是为您的目的提供更多“语义”描述而设计的。

您想要做的实际上更简单,不需要额外的扩展,而是通过自定义模板。请看Brad Wilson's great article series如何做到这一点。

关于c# - 如何显示模型名称(基本上是 LabelFor 的内部文本)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4475989/

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