You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core中Buddy类的DisplayAttribute不生效问题排查

问题排查与解决

嘿,我瞅了下你的代码,问题其实很明显——你给Category类配置了元数据关联,但完全忘了给Blogs实体类做同样的操作!这就是DisplayAttribute没在视图里生效的核心原因,ASP.NET Core根本不知道你定义的BlogsMetadata要和哪个实体绑定。

具体修复步骤:

1. 给Blogs类添加元数据关联特性

修改你的Blogs实体类,补上[ModelMetadataType]特性,同时记得引用元数据类所在的命名空间:

using KuteCore.Models.MetaData; // 必须添加这个命名空间引用

namespace KuteCore.Models {
    [ModelMetadataType(typeof(BlogsMetadata))] // 关键:添加这行关联特性
    public partial class Blogs {
        public int BlogId { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}

2. 确认字段匹配性(你的代码已经没问题)

检查BlogsMetadata里的字段名称、类型是否和Blogs实体类完全一致(C#是大小写敏感的),你的代码里Title和Description都是严格匹配的,这部分不用改。

3. 验证修复效果

重新运行项目后,视图里的@Html.LabelFor(model => model.Title)应该会显示你定义的"عنوان",同时Required特性的错误信息"خطااا"也会在输入为空时正常触发显示。

额外小提示

  • 你那段Category相关的元数据关联代码是冗余的(如果没用到的话),可以直接删掉,不影响当前问题的修复
  • 如果之后要做多语言本地化,记得配置项目的本地化服务,但现在只是显示固定波斯语文本,只要关联正确就会生效

内容的提问来源于stack exchange,提问作者Morteza Jangjoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:49:24