我正在玩一个ASP.MVC网站,我想要显示三个图像中的一个,具体取决于我所拥有的强类型模型中枚举的值。
我可以在视图中使用IF / Case语句,但它应该是我觉得控制器的责任,实现它的最佳方法是什么?
答案 0 :(得分:2)
如果您有Enumerable<YourModel>
,则可能需要从控制器向视图提供Dictionary<YourEnum, Uri>
。
这样,控制器可以决定有哪些有效图像等。
但是,选择图像似乎是一种基本的视图限制活动。作为练习,想象一下如果我们实际驱动WinForms应用程序而不是Web应用程序的控制器,您将如何处理此问题。
如果是我,我会使用Dictionary<YourEnum, string>
,其中字典中的值是图像的名称。然后,我将使用URL路由选择浏览器应该在哪里获取图像。
答案 1 :(得分:1)
我只需让控制器选择一个图像,然后将图像传递给视图。在视图上,只需使用传递的值来渲染图像。