谁负责编码字符串?

时间:2009-08-27 18:35:44

标签: asp.net-mvc separation-of-concerns

谁负责编码字符串,模型或视图?

我有一个来自数据库的字符串,它来自用户 - 我想在数据库中保留尽可能多的信息,所以我会逐字保存输入。

当我来显示字符串时,我应该在填充视图模型时对其进行编码,还是视图决定是否要显示它是否编码?

谢谢,
ķ

2 个答案:

答案 0 :(得分:13)

视图

两者之间的区别在于模型认为数据和视图负责显示基于输出介质的数据。因为如果你想通过某些HTML媒体传输这些数据,你可能不希望它是HTML编码的。

答案 1 :(得分:2)

我认为这主要与您对View的清洁程度有关。如果你在视图端进行编码,你可以让你的控制器免于数据处理操作,同时用丑陋的脚本标签混淆视图,但是如果你在控制器端做到这一点,你将拥有一个更清洁的(更加设计师友好)查看并可能使控制器中的代码混淆。

真正的问题是你宁愿混淆你的后端代码还是视图标记?

一般来说,虽然我相信最佳实践将在您的视图中,以便您的控制器能够转换为不同的输出流,而不会改变其运行方式。