ASP.NET開發中關于Web標準的幾點建議
Visual Studio.NET從2003到現在的2008,一路走來慢慢強大……從以前的vs2003能自動改亂你的html代碼到現在在vs2008中都能直接對html代碼進行w3c標準驗證并提示了,非常不易。
論壇中也經常有從事。NET開發的新手朋友問一些ASP.NET開發過程中與Web標準之間的沖突問題,其實說到底就是客戶端代碼生成的問題。更高深的開發層面的東西我也說不出來,從頁面前端的角度和大家分享一下建議:
少用ASP.NET中的服務器端控件
在Visual Studio中,有一系列強大的控件,讓我們的剛開始學習。NET開發人員愛不釋手。但vs中的這些控件,大多都是基于winForm的那種模式搬來的,在網頁開發上,有些控件還是少用為佳,比如:
不要什么也沒都統統加form runat=“server”,有朋友說,不加form runat=“server”其他控件很多就不可以用了。是的,我們就是要在必要的地方加,確實是有表單的地方,自然要加,但絕對不是。NET默認的那種,所有頁面都在body標簽下第一個標簽就是form。這是不合理的。
少用Asp:Gridview這樣的控件,可考慮asp:Repeater控件或者自己去寫第三方控件,反正很簡單,讓代碼輸出聽你的。
用asp:Literal替換asp:Label,asp:Literal輸出是干凈的。
少用asp:LinkButton這樣的控件,鏈接就是鏈接,按鈕就是按鈕,沒必要搞一個什么LinkButton……
默認的表單驗證控件雖然用起來簡單,但還是自己寫的比較好用。
總之,我們要注重代碼輸出的質量,而默認的控件有些是達不到這個要求的。
少用Frameset/Iframe標簽
在一般網頁中用框架頁來布局(Header/Sidebar/Content/Footer)的做法基本上已經淘汰了,當然,后臺管理這類的應用還是可以用的,前端展現的頁面就不可以了,Visual Studio 2005中開始,就有了MastERPage,這個用起來也非常方便。其實和早期asp中include header.asp這樣的做法是相似的。
少用PostBack機制
.NET中的postback機制,有它的理由,合理使用吧,互聯網產品中少用點沒錯!
多看成熟的。NET開源產品
比如:微軟開源的oXite、PetShop、Discuz論壇的。NET版、BlogEngine、CVBBS等等,都是基于。NET開發的比較好的例子。
多關注客戶端代碼質量
畢竟是基于瀏覽器的,用戶體驗、W3C標準、瀏覽器兼容等等,沒有好的客戶端代碼,都是支撐不起來的。
多學習必要的客戶端知識
很多。NET初學者對html/css/Java這些客戶端基本知識了解得不夠,特別是Java,你會發現很多以前你都Postback到服務器端去做的事情,原來用java就可以輕松地在客戶端去。
關鍵字:ASP.NET、服務器、客戶端
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解