關(guān)于ASP.NET開(kāi)發(fā)中Web標(biāo)準(zhǔn)的幾點(diǎn)建議_.Net教程
推薦:揭秘ASP.NET的開(kāi)發(fā)安全問(wèn)題前言:之所以想到要寫(xiě)ASP.NET安全問(wèn)題的文章,是有感于自己的一些經(jīng)歷。想當(dāng)初自己學(xué)習(xí)ASP.NET的時(shí)候,到處找有關(guān)安全方面的文章,當(dāng)時(shí)發(fā)現(xiàn)很多文章指示蜻蜓點(diǎn)水的告訴我怎么用,如安全的主要問(wèn)題有哪5個(gè),也只是很簡(jiǎn)要的告訴我什么是Forms身份驗(yàn)證,什么是
摘要:NET開(kāi)發(fā)新手總會(huì)遇到一些ASP.NET開(kāi)發(fā)過(guò)程中與Web標(biāo)準(zhǔn)之間的沖突問(wèn)題,這里向您提供幾個(gè)建議,使ASP.NET開(kāi)發(fā)過(guò)更加符合Web標(biāo)準(zhǔn)。
Visual Studio.NET從2003到現(xiàn)在的2008,一路走來(lái)慢慢強(qiáng)大……從以前的vs2003能自動(dòng)改亂你的html代碼到現(xiàn)在在vs2008中都能直接對(duì)html代碼進(jìn)行w3c標(biāo)準(zhǔn)驗(yàn)證并提示了,非常不易。
論壇中也經(jīng)常有從事。NET開(kāi)發(fā)的新手朋友問(wèn)一些ASP.NET開(kāi)發(fā)過(guò)程中與Web標(biāo)準(zhǔn)之間的沖突問(wèn)題,其實(shí)說(shuō)到底就是客戶(hù)端代碼生成的問(wèn)題。更高深的開(kāi)發(fā)層面的東西我也說(shuō)不出來(lái),從頁(yè)面前端的角度和大家分享一下建議:
少用ASP.NET中的服務(wù)器端控件
在Visual Studio中,有一系列強(qiáng)大的控件,讓我們的剛開(kāi)始學(xué)習(xí)。NET開(kāi)發(fā)人員愛(ài)不釋手。但vs中的這些控件,大多都是基于winForm的那種模式搬來(lái)的,在網(wǎng)頁(yè)開(kāi)發(fā)上,有些控件還是少用為佳,比如:
不要什么也沒(méi)都統(tǒng)統(tǒng)加form runat=“server”,有朋友說(shuō),不加form runat=“server”其他控件很多就不可以用了。是的,我們就是要在必要的地方加,確實(shí)是有表單的地方,自然要加,但絕對(duì)不是。NET默認(rèn)的那種,所有頁(yè)面都在body標(biāo)簽下第一個(gè)標(biāo)簽就是form。這是不合理的。
少用Asp:Gridview這樣的控件,可考慮asp:Repeater控件或者自己去寫(xiě)第三方控件,反正很簡(jiǎn)單,讓代碼輸出聽(tīng)你的。
用asp:Literal替換asp:Label,asp:Literal輸出是干凈的。
少用asp:LinkButton這樣的控件,鏈接就是鏈接,按鈕就是按鈕,沒(méi)必要搞一個(gè)什么LinkButton……
默認(rèn)的表單驗(yàn)證控件雖然用起來(lái)簡(jiǎn)單,但還是自己寫(xiě)的比較好用。
總之,我們要注重代碼輸出的質(zhì)量,而默認(rèn)的控件有些是達(dá)不到這個(gè)要求的。
少用Frameset/Iframe標(biāo)簽
在一般網(wǎng)頁(yè)中用框架頁(yè)來(lái)布局(Header/Sidebar/Content/Footer)的做法基本上已經(jīng)淘汰了,當(dāng)然,后臺(tái)管理這類(lèi)的應(yīng)用還是可以用的,前端展現(xiàn)的頁(yè)面就不可以了,Visual Studio 2005中開(kāi)始,就有了MastERPage,這個(gè)用起來(lái)也非常方便。其實(shí)和早期asp中include header.asp這樣的做法是相似的。
少用PostBack機(jī)制
.NET中的postback機(jī)制,有它的理由,合理使用吧,互聯(lián)網(wǎng)產(chǎn)品中少用點(diǎn)沒(méi)錯(cuò)!
多看成熟的。NET開(kāi)源產(chǎn)品
比如:微軟開(kāi)源的oXite、PetShop、Discuz論壇的。NET版、BlogEngine、CVBBS等等,都是基于。NET開(kāi)發(fā)的比較好的例子。
多關(guān)注客戶(hù)端代碼質(zhì)量
畢竟是基于瀏覽器的,用戶(hù)體驗(yàn)、W3C標(biāo)準(zhǔn)、瀏覽器兼容等等,沒(méi)有好的客戶(hù)端代碼,都是支撐不起來(lái)的。
多學(xué)習(xí)必要的客戶(hù)端知識(shí)
很多。NET初學(xué)者對(duì)html/css/JavaScript這些客戶(hù)端基本知識(shí)了解得不夠,特別是Javascript,你會(huì)發(fā)現(xiàn)很多以前你都Postback到服務(wù)器端去做的事情,原來(lái)用javascript就可以輕松地在客戶(hù)端去完成了!Web開(kāi)發(fā),這是根基!
分享:淺談.NET反射的封裝.NET反射提供了在運(yùn)行時(shí)獲取對(duì)象類(lèi)型元數(shù)據(jù)的途徑,使程序可以動(dòng)態(tài)地調(diào)用對(duì)象的屬性、方法。動(dòng)態(tài)性帶來(lái)的代價(jià)是反射調(diào)用不像基于靜態(tài)類(lèi)型的直接調(diào)用那樣簡(jiǎn)潔,且缺乏類(lèi)型檢查機(jī)制,失去了IDE智能提示,容易出錯(cuò);于是,不少朋友嘗試對(duì).NET反射進(jìn)行封裝。這個(gè)
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶(hù)端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解決.net framework 4.0環(huán)境下遇到版本不同編譯不通過(guò)的方法詳解
- 怎樣處理.NET開(kāi)發(fā)事件
- 在.net App中集成COM組件的一些簡(jiǎn)單技巧
- 解析.net如何用OleDb方式操作excel
- c# 連接字符串?dāng)?shù)據(jù)庫(kù)服務(wù)器端口號(hào)
- .NET平臺(tái)依賴(lài)注入機(jī)制及IoC的設(shè)計(jì)與實(shí)現(xiàn)
- Ajax簡(jiǎn)單客戶(hù)登陸驗(yàn)證
- 淺談ASP.NET MVC框架內(nèi)置AJAX支持編程技術(shù)
- 解讀.net垃圾回收和CLR 4.0對(duì)垃圾回收所做的改進(jìn)之二
- ASP.NET:設(shè)置頁(yè)面buffer引出來(lái)的問(wèn)題
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索關(guān)于ASP.NET開(kāi)發(fā)中Web標(biāo)準(zhǔn)的幾點(diǎn)建議
- 教程說(shuō)明:
.Net教程-關(guān)于ASP.NET開(kāi)發(fā)中Web標(biāo)準(zhǔn)的幾點(diǎn)建議
。