请保持Asp.net MVC中View的可读性
2011-04-19 16:51 zhoujie 阅读(1837) 评论(6) 编辑 收藏 举报MVC中的View既可以写HTML代码,也可以写C#代码,代码的可读性一不小心就会变得很差。
在下做过一个项目,后端数据库用XML保存用户提交的自定义数据,前端需要解析XML数据,然后输出我们的HTML展现给用户一个漂亮的界面。第一次做的时候没感觉可读性很差,因为XML的结构已经了然于胸,于是在View中加入了大量的For,if逻辑,很快就交差了,领导也很满意。没想到3个月以后,领导要求做一些改动,这下可傻眼了,当时写了些什么天书啊,当时的数据结构早已忘得一干二净。可想而知,自己又付出了多少劳动,浪费了多少脑细胞。
对我来说像下面这种简单的数据邦定语法,还是可以接受的。
<p>
<label for="username">Username:</label>
<%= Html.TextBox("username") %>
<%= Html.ValidationMessage("username") %>
</p>
<p>
<label for="email">Email:</label>
<%= Html.TextBox("email") %>
<%= Html.ValidationMessage("email") %>
</p>
<label for="username">Username:</label>
<%= Html.TextBox("username") %>
<%= Html.ValidationMessage("username") %>
</p>
<p>
<label for="email">Email:</label>
<%= Html.TextBox("email") %>
<%= Html.ValidationMessage("email") %>
</p>
这需要我们将大部分逻辑放在Controller里面,构造出数据Model,然后邦定到View上。因为数据模型一般是不会改变的,View却是经常变的。
必要时写一些HTML的Helper方法也可以,总之一句话尽量保持view具有良好的可读性 。什么是可读性良好?在我看来就是一段一段的,每一段负责自己的事情,将来维护时可以迅速的定位到这一段,然后快速修改完交差。不能是一砣没有结构性,牵一发而动全身。