所以我是一个古老的Web表单人,并且是MVC(通常不仅是ASP.NET)框架的新手。我的观点开始看起来很像旧的经典ASP。不是说我正在添加任何业务逻辑或任何东西,而是更多的表示逻辑。我最终得到了很多<% %>
标签和if/else
语句,用于决定要显示的链接或要使用的样式。
我还考虑过决定控制器中的样式或链接并在模型上设置它们,但听起来像是打破了MVC的目的。
我最终忽略了<% %>
以确保我的HTML格式正确。
我想听听你的意见。你的观点和我一样吗?我做错了吗?
答案 0 :(得分:2)
如果我有大量的表示逻辑,我会尝试将其移到HtmlHelper类的扩展名。
答案 1 :(得分:1)
除了mxmissle所说的(我投票给他)说我会做一个局部视图将页面的复杂区域移动到一个单独的文件,它有助于清理和重用代码。
我发现,如果事情看起来有点太老了,ASP是时候重构了。令人惊讶的是你可以清理成辅助类或部分视图,或者简单地使用更简洁的东西重做。
编辑:另外,如果它看起来有点太旧的学校ASP,也许你的视图中有逻辑不属于那里。
答案 2 :(得分:0)
我通常创建一个特定于每个视图的ViewModel类,该视图包含与特定视图关联的任何逻辑。这适用于条件的结果只是一个简单的DIV或SPAN标记的情况,这些标记并不真正保证自己的扩展或部分视图。
我发现它会在我看来清理掉很多经典的ASP'ish外观。
有关此方法的详情,请参阅Stephen Walther's blog。
答案 3 :(得分:0)
是的,你做得对。 ASP.NET MVC在各方面都不是对经典Web表单的改进。它有它的优点和缺点(正如你所发现的那样,“标签汤”是其中一个缺点)。
有几种方法可以减轻痛苦(将尽可能多的逻辑移入模型,HTML助手,部分视图等),但很难避免。