谁负责对字符串、模型或视图进行编码?
我有一个来自数据库的字符串,它来自用户 - 我想在数据库中保留尽可能多的信息,所以我将逐字保存输入。
当我来显示字符串时,我应该在填充视图模型时对其进行编码,还是应该由视图决定是否要显示已编码的字符串?
谢谢,
克
谁负责对字符串、模型或视图进行编码?
我有一个来自数据库的字符串,它来自用户 - 我想在数据库中保留尽可能多的信息,所以我将逐字保存输入。
当我来显示字符串时,我应该在填充视图模型时对其进行编码,还是应该由视图决定是否要显示已编码的字符串?
谢谢,
克
风景
两者的区别在于模型持有数据,视图负责根据输出介质展示数据。因为如果您想通过某种非 HTML 媒体传输此数据,您可能不希望它被 HTML 编码。
我认为这主要与您希望视图的清洁程度有关。如果您在视图端进行编码,您可以使控制器免于数据操作操作,同时用丑陋的脚本标签混淆视图,但是如果您在控制器端进行编码,您将拥有一个更清晰(对设计师更友好)的视图,并且可能会令人困惑控制器中的代码。
真正的问题是你宁愿混淆你的后端代码还是视图标记?
一般而言,尽管我相信最佳实践将在您的视图中,以便您的控制器能够在不改变其操作方式的情况下变形为不同的输出流。