Asp.net mvc 最佳实践的代码放在哪里?

Asp.net mvc 最佳实践的代码放在哪里?,asp.net-mvc,domain-driven-design,Asp.net Mvc,Domain Driven Design,我有一个asp.net mvc应用程序,我有一个显示meteo信息的页面。它看起来像: 今天的温度是34-35度 为此 34-35度 ,我有一种方法可以确保文本的格式 [数字][点][数字] 调用了AssureCorrectDegressFormat()。 现在我在问它在哪里最合适。直到现在我才从视图中调用它,smth是这样的: 但我认为该视图仅用于显示数据,而不是调用某些方法来处理这些文本。我将我的类SafeData移动到应用程序的核心,并将DTO传递给视图,该DTO已调用此方法并获得正确的数

我有一个asp.net mvc应用程序,我有一个显示meteo信息的页面。它看起来像:

今天的温度是34-35度

为此

34-35度

,我有一种方法可以确保文本的格式

[数字][点][数字]

调用了AssureCorrectDegressFormat()。 现在我在问它在哪里最合适。直到现在我才从视图中调用它,smth是这样的:


但我认为该视图仅用于显示数据,而不是调用某些方法来处理这些文本。我将我的类SafeData移动到应用程序的核心,并将DTO传递给视图,该DTO已调用此方法并获得正确的数据以进行显示。我对你们关于这方面的意见很感兴趣,把这门课放在哪里最好,也许在基础设施层,在哪里叫它,现在我从我的服务中叫itr。我忘了说我正在使用DDD aproach。

格式化视图中的数据显示对我来说似乎很好。在你看来,你不会再三考虑这个问题:

<%= Model.MyDate.ToString("f") %> 


你愿意吗?原理是一样的。

格式化视图中的数据显示对我来说似乎很好。在你看来,你不会再三考虑这个问题:

<%= Model.MyDate.ToString("f") %> 


你愿意吗?原理是一样的。

在我看来,格式化是一个与视图相关的函数,因此应该在视图中调用它。至于实际执行格式化的代码,我可能会创建一个HtmlHelper扩展来处理格式化。这样我就可以在任何我想要的地方使用它,但是代码只在一个地方

 <%= Html.ShowDegrees( DV.TheDegreeString ) %>

在我看来,格式化是一个与视图相关的函数,因此应该在视图中调用它。至于实际执行格式化的代码,我可能会创建一个HtmlHelper扩展来处理格式化。这样我就可以在任何我想要的地方使用它,但是代码只在一个地方

 <%= Html.ShowDegrees( DV.TheDegreeString ) %>


如果这是一个非常简单的格式化或计算,我就把它放在视图中。如果比这更复杂,我将在ViewModel中放置一个方法。如果它很复杂并且可以在很多地方使用,我会为它创建一个HtmlHelper。

如果它是一个非常简单的格式或计算,我只会将它放在视图中。如果比这更复杂,我将在ViewModel中放置一个方法。如果它很复杂,可以在很多地方使用,我将为它创建一个HtmlHelper。

HtmlHelper还有一个额外的好处,就是在视图中出现格式化方法时,可以减少开发人员的焦虑。HtmlHelper还有一个额外的好处,就是在视图中出现格式化方法时,可以减少开发人员的焦虑。我讨厌任何带有语法的编程函数类似于中的“The”的文章。这难道不是类似于去杠杆化()吗?!DV=ViewData.Model,因此degreestring-在这里是一个属性而不是一个方法:DV.TheDegreeString我讨厌任何带有语法文章(如中的“The”)的编程函数。这难道不是类似于去杠杆化()吗?!DV=ViewData.Model,所以degreedstring-在这里是一个属性而不是一个方法:DV.thedegreedstring