|
Visual Studio.NET從2003到現(xiàn)在的2008,一路走來慢慢強(qiáng)大……從以前的vs2003能自動改亂你的html代碼到現(xiàn)在在vs2008中都能直接對html代碼進(jìn)行w3c標(biāo)準(zhǔn)驗(yàn)證并提示了,非常不易。
論壇中也經(jīng)常有從事.NET開發(fā)的新手朋友問一些ASP.NET開發(fā)過程中與Web標(biāo)準(zhǔn)之間的沖突問題,其實(shí)說到底就是客戶端代碼生成的問題。更高深的開發(fā)層面的東西我也說不出來,從頁面前端的角度和大家分享一下建議:
在Visual Studio中,有一系列強(qiáng)大的控件,讓我們的剛開始學(xué)習(xí).NET開發(fā)人員愛不釋手。但vs中的這些控件,大多都是基于winForm的那種模式搬來的,在網(wǎng)頁開發(fā)上,有些控件還是少用為佳,比如:
不要什么也沒都統(tǒng)統(tǒng)加form runat="server",有朋友說,不加form runat="server"其他控件很多就不可以用了。是的,我們就是要在必要的地方加,確實(shí)是有表單的地方,自然要加,但絕對不是.NET默認(rèn)的那種,所有頁面都在body標(biāo)簽下第一個標(biāo)簽就是form。這是不合理的。
少用ASP:Gridview這樣的控件,可考慮ASP:Repeater控件或者自己去寫第三方控件,反正很簡單,讓代碼輸出聽你的。
用ASP:Literal替換ASP:Label,ASP:Literal輸出是干凈的。
少用ASP:LinkButton這樣的控件,鏈接就是鏈接,按鈕就是按鈕,沒必要搞一個什么LinkButton……
默認(rèn)的表單驗(yàn)證控件雖然用起來簡單,但還是自己寫的比較好用。
總之,我們要注重代碼輸出的質(zhì)量,而默認(rèn)的控件有些是達(dá)不到這個要求的。
少用Frameset/Iframe標(biāo)簽
在一般網(wǎng)頁中用框架頁來布局(Header/Sidebar/Content/Footer)的做法基本上已經(jīng)淘汰了,當(dāng)然,后臺管理這類的應(yīng)用還是可以用的,前端展現(xiàn)的頁面就不可以了,Visual Studio 2005中開始,就有了MastERPage,這個用起來也非常方便。其實(shí)和早期ASP中include header.ASP這樣的做法是相似的。
少用PostBack機(jī)制
.NET中的postback機(jī)制,有它的理由,合理使用吧,互聯(lián)網(wǎng)產(chǎn)品中少用點(diǎn)沒錯!
比如:微軟開源的oXite、PetShop、Discuz論壇的.NET版、BlogEngine、CVBBS等等,都是基于.NET開發(fā)的比較好的例子。
多關(guān)注客戶端代碼質(zhì)量
畢竟是基于瀏覽器的,用戶體驗(yàn)、W3C標(biāo)準(zhǔn)、瀏覽器兼容等等,沒有好的客戶端代碼,都是支撐不起來的。
多學(xué)習(xí)必要的客戶端知識
很多.NET初學(xué)者對html/css/JavaScript這些客戶端基本知識了解得不夠,特別是Javascript,你會發(fā)現(xiàn)很多以前你都Postback到服務(wù)器端去做的事情,原來用Javascript就可以輕松地在客戶端去完成了!Web開發(fā),這是根基!
NET技術(shù):ASP.NET開發(fā)中關(guān)于Web標(biāo)準(zhǔn)的幾點(diǎn)建議,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。