ASP.NET MVC:我做得对吗?

时间:2009-09-09 21:08:34

标签: asp.net-mvc

所以我是一个古老的Web表单人,并且是MVC(通常不仅是ASP.NET)框架的新手。我的观点开始看起来很像旧的经典ASP。不是说我正在添加任何业务逻辑或任何东西,而是更多的表示逻辑。我最终得到了很多<% %>标签和if/else语句,用于决定要显示的链接或要使用的样式。

我还考虑过决定控制器中的样式或链接并在模型上设置它们,但听起来像是打破了MVC的目的。

我最终忽略了<% %>以确保我的HTML格式正确。

我想听听你的意见。你的观点和我一样吗?我做错了吗?

4 个答案:

答案 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助手,部分视图等),但很难避免。