C# MVC用户格式输出

C# MVC用户格式输出,c#,asp.net-mvc,format,actionresult,jsonresult,C#,Asp.net Mvc,Format,Actionresult,Jsonresult,我有一个C#MVC项目,允许用户选择输出数据的方式(即以公里小时/英里为单位的速度、以CST为单位的时间、以ESt为单位的时间等、以公里为单位的距离、英里、米、公顷等)。每次登录时,我都会将其填充到加密的cookies用户数据部分,而不是返回数据库检索设置。我还使用了服务存储库模式,其中我的服务在BLL中实现,模型在BOL中定义。我还将数据作为JsonResults返回(使用NewtonSoft库)。将数据转换为用户指定的类型而不将此单元首选项信息传递到业务逻辑层的最佳策略是什么(在何处以及如何

我有一个C#MVC项目,允许用户选择输出数据的方式(即以公里小时/英里为单位的速度、以CST为单位的时间、以ESt为单位的时间等、以公里为单位的距离、英里、米、公顷等)。每次登录时,我都会将其填充到加密的cookies用户数据部分,而不是返回数据库检索设置。我还使用了服务存储库模式,其中我的服务在BLL中实现,模型在BOL中定义。我还将数据作为JsonResults返回(使用NewtonSoft库)。将数据转换为用户指定的类型而不将此单元首选项信息传递到业务逻辑层的最佳策略是什么(在何处以及如何)?我最初考虑使用customAttributes并编写我自己的CustomJsonResult actionResult,这将使用反射并生成Json字符串,但这需要我自己的对象遍历算法。我最关心的是我想让我的应用程序无状态

我认为这种转换可以在映射层中执行,映射层将业务对象转换为传递给视图的视图模型。因此,控制器将查询业务层以检索模型,然后将查询存储在cookie中的用户首选项,并将这两个实体传递给映射层,映射层将根据用户区域设置执行必要的转换和格式化,并返回一个视图模型,以便传输给强类型的用户只输出信息的视图


另一种可能是在视图中使用自定义HTML帮助程序,它将获取模型值,并根据存储在cookie输出中的用户首选项执行转换并输出格式化字符串。

嘿,Darin,感谢您的深入了解,不过我正在将数据传递回不同的ActionResult,即JsonResult()、CSVResult(),等等。因此,在将数据发送到这些默认方法之前,我需要正确格式的数据。您是对的,如果我渲染到html视图,我可以使用静态帮助器函数来执行此操作。但我不是:s@Amit,则我关于在映射层中执行转换的第一个建议仍然有效。