更改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>
用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需求,我会让它保持原样…作为它的