MVC - 谁格式化模型?

And*_*gin 6 model-view-controller

在渲染到视图模型之前,应格式化:

  1. 多语言数据本地化;
  2. 日期,时间值格式化;
  3. 数字格式化.

谁执行所有这些格式 - 控制器或视图?

我是对的,所有的格式都是由Controller执行的,它创建了只包含格式化值的所谓ViewModel,并将此ViewModel发送给View?

提前致谢!

Jon*_*noW 3

Eric Petroelje 是对的,但我会构建一个帮助程序类来获取本地化内容/日期等,因为本地化并不总是在视图中,例如发送包含本地化内容的电子邮件。我会有类似 LocalizationHelper.GetString("MyKey") 或 LocalizationHelper.GetDate(Date.Now) 之类的东西,其中 LocalizationHelper 知道用户当前的区域设置(可能来自会话)。

然后尽可能直接在视图中使用它:

<%= Html.Encode(LocalisationHelper.GetDate(Date.Now)) %>
Run Code Online (Sandbox Code Playgroud)