更改c# Dto类属性的常见解决方案是什么? '第一封信给

本文关键字:一封信 是什么 解决方案 Dto 属性 常见 更改 | 更新日期: 2023-09-27 18:11:45

我在后端有Dto类,属性名以大写字母开头,按照c#风格,如下所示。因此,javascript中的属性名也以大写字母开头,这是不符合javascript标准的。

在我开始做一些通过属性名称迭代和更改它们的魔术之前,我想知道是否有任何行业标准以这种方式更改属性名称?

我已经知道Breeze有一个配置选项,但是我现在不使用Breeze。我还没有检查过他们的情况。

public class ModuleDto
    {
        public virtual string ModuleName
        {
            get;
            set;
        }
        public virtual string ModuleDesc
        {
            get;
            set;
        }
    }
<accordion>
        <accordion-group ng-repeat="item in vm.leftHandMenu">
            <accordion-heading>
                {{item.ModuleName}}<i class="pull-right glyphicon"></i>
            </accordion-heading>
            <div ng-if="item.ModuleScreenDtos !== 'undefined'">
                <ul>
                    <li ng-repeat="screenItem in item.ModuleScreenDtos">{{screenItem.ModuleScreenName}}</li>
                </ul>
            </div>
        </accordion-group>
    </accordion>

预期结果:

<accordion>
        <accordion-group ng-repeat="item in vm.leftHandMenu">
            <accordion-heading>
                {{item.moduleName}}<i class="pull-right glyphicon"></i>
            </accordion-heading>
            <div ng-if="item.moduleScreenDtos !== 'undefined'">
                <ul>
                    <li ng-repeat="screenItem in item.moduleScreenDtos">{{screenItem.moduleScreenName}}</li>
                </ul>
            </div>
        </accordion-group>
    </accordion>

更改c# Dto类属性的常见解决方案是什么? '第一封信给

JsonProperty(Name="...")(链接)注释你的DTO模型的属性,并用Json.NET序列化它。

更多信息:http://www.newtonsoft.com/json/help/html/SerializingJSON.htm

我假设你使用的是angular-js和c#的代码语法。

  • 因为它是正确的标准,有第一个公共字母属性大写。
  • 当angular模型自动绑定到c#类时…我想说角的首字母大写是正确的,因为它是一对一的映射。
  • 这样做的一个额外好处是,您将很容易地能够分辨出属性的创建者(c# property DTO (public)).
  • 你现在必须讨论是否要将c#标准更改为支持你的JS需求,我会让它保持原样…作为它的
相关文章: