Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC中的数字/日期转换帮助程序,在何处使用?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc MVC中的数字/日期转换帮助程序,在何处使用?

Asp.net mvc MVC中的数字/日期转换帮助程序,在何处使用?,asp.net-mvc,Asp.net Mvc,Stackoverflow是基于MVC构建的,它对日期和数字(答案计数、投票等)做了一系列简单但不错的事情。我假设这一切都是通过几个静态助手类完成的 我的问题是视图应该调用这些辅助对象,还是控制器应该调用这些辅助对象并将结果嵌入ViewData 控制器填充视图数据 控制器加载模型/数据 控制器使用DateHelper静态方法将日期转换为友好字符串 提供友好的日期字符串,以便通过ViewData查看 控制器使用模型和视图调用DateHelper填充视图数据 控制器加载模型/数据 控制器通过V

Stackoverflow是基于MVC构建的,它对日期和数字(答案计数、投票等)做了一系列简单但不错的事情。我假设这一切都是通过几个静态助手类完成的

我的问题是视图应该调用这些辅助对象,还是控制器应该调用这些辅助对象并将结果嵌入ViewData

  • 控制器填充视图数据

    • 控制器加载模型/数据
    • 控制器使用DateHelper静态方法将日期转换为友好字符串
    • 提供友好的日期字符串,以便通过ViewData查看
  • 控制器使用模型和视图调用DateHelper填充视图数据

    • 控制器加载模型/数据
    • 控制器通过ViewData提供模型视图
    • 当ViewData绑定到HTML时,它调用DateHelper静态方法
  • 我怀疑1号是正确的方法,但它似乎有点混乱,因为你可以拿一个模型列表,这些模型很容易在视图中循环。如果您基于一组模型实例处理并生成一组友好字符串,而该模型没有一个位置将这些字符串附加到特定实例,那么最终会向ViewData发送两个不同的数据列表。对吧?


    非常感谢您的想法。

    我想我更喜欢在视图中使用助手。在我看来,日期的呈现方式是以视图为中心的。控制器只知道视图需要显示它。

    根据您询问的对象,您将得到不同的答案。我个人喜欢选项#2,因为我希望ViewData是原始数据,并选择它在视图中的呈现方式。对我来说,在视图中这样做很好,因为这是一个视图问题

    但是,我知道我自己的团队中有人不同意我的观点,这表明控制器返回的是一个表示模型,而不仅仅是一个模型(我也同意这一点),它应该在将模型发送到视图之前处理所有这些转换。这种情况下的视图应该是超级愚蠢的


    我不认为在这种情况下每个人都有一个绝对正确的选择。我会说根据你的经验选择一个或另一个,并坚持下去。

    我完全支持选项2。我认为这是一个格式问题,在我看来,这是视图需要担心的问题