Asp.net 在何处放置格式函数
我正在构建我的第一个n层应用程序Asp.net 在何处放置格式函数,asp.net,asp.net-mvc,dapper,n-tier-architecture,Asp.net,Asp.net Mvc,Dapper,N Tier Architecture,我正在构建我的第一个n层应用程序 第一层是ASP.net网站 第二层是业务层 第三个是数据层,具有简洁性 第二层和第三层用于不同的网站 当我有税务选项的数字字段时。 1=高BTW,2=低BTW,3=无BTW 在business Artikel类中创建翻译函数是一个好的设计吗? 如果答案是否定的,那么哪里是转换值的正确位置。 我在视图中使用此函数来显示文本而不是数字 例如: Public Function ArtBtwShow() As String Return ArtikelHel
- 第一层是ASP.net网站李>
- 第二层是业务层
- 第三个是数据层,具有简洁性
Public Function ArtBtwShow() As String
Return ArtikelHelper.GetBtwName(ArtBtw)
End Function
GetBtwName辅助函数:
Shared Function GetBtwName(Btw As String)
Select Case Btw
Case "0"
Return "Geen"
Case "1"
Return "Laag"
Case "2"
Return "Hoog"
Case Else
Return ""
End Select
End Function
我不确定您到底想做什么,但看起来您需要为您的Btw对象使用枚举而不是字符串:
Public Enum Btw
Green = 0
Laag = 1
Hoog = 2
End Enum
我认为业务层就是放置这个的地方
然后检索描述,如下所示:
Public Funtion GetName(btw As Btw)
return [Enum].GetName(GetType(Btw), (int)btw)
End Function
您可以在业务逻辑中使用枚举而不是在字符串之间转换吗?或者如果
BTW
表示一个业务模型,那么将其作为强类型业务对象?听起来像是在传递一些“魔法值”,需要手动将它们从一个“魔法值”转换为另一个“魔法值”。答案不是将转换放在哪里,而是首先不要使用它们。我可以将ArtBtw的类型更改为可枚举的。但是如何设置可枚举项的显示值呢?它应该是可枚举的吗?这实际上是建模的结构问题。如果它是一个可枚举的
,那么您可以通过从集合中选择一个元素并显示它来显示该元素。现在还不清楚问题出在哪里,谢谢。我尝试将字符串更改为枚举。MVC中的DisplayFor函数显示字符串名称