首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c#中设置模型属性的默认资源类型

在c#中设置模型属性的默认资源类型
EN

Stack Overflow用户
提问于 2011-07-07 20:20:58
回答 2查看 960关注 0票数 2

我正在寻找一种更简单/更干燥的方式来使用我的MVC3模型。

这就是我现在所做的(每个属性都需要被告知它使用哪种资源类型):

代码语言:javascript
运行
复制
    public class ContactMessageModel:BaseModel
    {
        [Display(Name="ReplyToEmail_DisplayName", ResourceType = typeof(Res.Views_Contact))]
        public string ReplyToEmail {get; set; }

        [Display(Name = "ContactReason_DisplayName", ResourceType = typeof(Res.Views_Contact))]
        public string ContactReason { get; set; }

这可以做到吗?

这是我想要做的(我只想为模型定义一次资源类型):

代码语言:javascript
运行
复制
[Display(ResourceType = typeof(Res.Views_Contact))]
public class ContactMessageModel:BaseModel
{
    [Display(Name="ReplyToEmail_DisplayName")]
    public string ReplyToEmail {get; set; }

    [Display(Name = "ContactReason_DisplayName")]            
    public string ContactReason { get; set; }
EN

Stack Overflow用户

发布于 2016-03-02 09:42:20

可以,可以默认ResourceType。Phil Haack展示了一个示例,说明如何重写.NET的ModelMetadataProviders来完成此任务,并避免重复指定相同的ResourceType:

http://haacked.com/archive/2011/07/14/model-metadata-and-validation-localization-using-conventions.aspx/

您可以全局默认为单个ResourceType,也可以使用他定义的以下属性使用默认值修饰特定类:

代码语言:javascript
运行
复制
public class MetadataConventionsAttribute : Attribute
{
    public Type ResourceType { get; set; }
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6610493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档