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>
這需要我們將大部分邏輯放在Controller裡面,構造出數據Model,然後邦定到View上。因為數據模型一般是不會改變的,View卻是經常變的。
必要時寫一些HTML的Helper方法也可以,總之一句話盡量保持view具有良好的可讀性 。什麼是可讀性良好?在我看來就是一段一段的,每一段負責自己的事情,將來維護時可以迅速的定位到這一段,然後快速修改完交差。不能是一砣沒有結構性,牽一發而動全身。