我有两种不同类型的数据可供显示(例如用户和产品)。根据条件,我需要显示用户或产品。我听说最好的做法是每当我们想要添加if时我们需要引入扩展方法。但是用户和产品html似乎太复杂而无法硬编码到扩展方法中。有什么样的最佳实践可以解决这个问题吗?
答案 0 :(得分:0)
我认为在视图中使用if
的问题可能会引入业务逻辑(在表示层中没有位置)。
您对if
的使用是否纯粹与演示有关?然后在视图中使用它。
if
是否实现了一些业务逻辑?重新考虑你的设计。
如果您仍然在视图中使用if
(并且不了解您的项目),我不确定您为什么需要使用扩展方法。我没有看到类似于以下内容的任何问题:
<%
if (someCondition)
{
Html.RenderAction("User", "Index");
}
else
{
Html.RenderAction("Product", "Index");
}
%>
答案 1 :(得分:0)
使用if stmt确实不是意大利面,因为你不会在代码之间来回走动。它也相当可读。在这种情况下使用扩展方法你不会硬编码任何html,但只是再次重定向到要返回的特定操作,所以它的问题是在视图中具有相同的代码 - 或者在扩展中处理的视图的逻辑方法。
答案 2 :(得分:0)