論壇中也經常有從事.net開發的新手朋友問一些asp.net開發過程中與web標准之間的沖突問題,其實說到底就是客戶端代碼生成的問題。更高深的開發層面的東西我也說不出來,從頁面前端的角度和大家分享一下建議:
少用asp.net中的服務器端控件
在Visual Studio中,有一系列強大的控件,讓我們的剛開始學習.net開發人員愛不釋手。但vs中的這些控件,大多都是基於winForm的那種模式搬來的,在網頁開發上,有些控件還是少用為佳,比如:
少用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/javascript這些客戶端基本知識了解得不夠,特別是javascript,你會發現很多以前你都Postback到服務器端去做的事情,原來用javascript就可以輕松地在客戶端去完成了!Web開發,這是根基!
前幾天看了下oXite,順便裝上了asp.net MVC Beat,我也不是.net的鐵桿粉絲,但是也就沒有留意,今天抽空新建了一個MvcApplication示例項目大致地了解了一下,看到了我所希望看到的幾個亮點: