日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > 請留心asp:Image控件中的ImageUrl屬性

請留心asp:Image控件中的ImageUrl屬性

來源:程序員人生   發(fā)布時間:2014-05-19 06:51:31 閱讀次數(shù):3512次

  建站學(xué)院(LieHuo.Net)轉(zhuǎn)載 今天快下班的時候,打開自己做的頁面,在頁面上(用的是Firefox)隨便點(diǎn)點(diǎn),檢查看看有沒有什么地方要修改的。但就是這簡單的動作,切發(fā)現(xiàn)了一個讓我郁悶的、同時也花了我將近兩個小時才解決的問題----空間首頁發(fā)生“二次回調(diào)”(感謝網(wǎng)友的指正,本文中所指的二次回調(diào)指的是首頁被請求了兩次)了!

  先說說造成二次請求的元兇:Image控件的ImageUrl屬性!

  通常,我們都用Image控件來顯示圖片,圖片的路徑就是通過ImageUrl來指定的,這都沒錯,但是,如果用了Image控件,又不給ImageUrl賦值,二次請求的問題就來了。

  Image控件被服務(wù)器解析后,ImageUrl會被轉(zhuǎn)換成img的src屬性用來標(biāo)識圖片的路徑,瀏覽器會根據(jù)src屬性來請求圖片。當(dāng)src屬性為空時,瀏覽器會請求當(dāng)前頁面,這就造成了二次回調(diào)。這個回調(diào)還是一個標(biāo)準(zhǔn)的PostBack,雖然這個PostBack不影響現(xiàn)有頁面,但是這個PostBack會向服務(wù)器再請求一次頁面,必然會給服務(wù)器帶來額外的壓力。

  解決方法:如果使用了Image控件,請務(wù)必給ImageUrl賦值!

  =================================================================
  感謝木野狐(Neil Chen)對這個問題做出的更加地道的解釋:

  其中對于木兄說的“并不會帶來什么嚴(yán)重后果”,我還是有點(diǎn)疑問:這個原本對圖片的請求被轉(zhuǎn)移到請求頁面上了,如果被請求頁面的Page_Load事件中有影響性能或功能的代碼,這難道不會給網(wǎng)站的性能和功能帶來影響?

  問題的根本原因在于,HTML 中 <img /> 如果不設(shè)置 src 屬性沒有關(guān)系,但是如果設(shè)置一個空字符串作為該屬性的值:
  <img src="" />
  這時就相當(dāng)于有了一個默認(rèn)值為 "./", 也就是對當(dāng)前目錄下默認(rèn)文檔的請求。

  所以,當(dāng)圖片加載時,會根據(jù) src 指定的值去讀取這個 url 的輸出,這里只是發(fā)出了一個 GET 請求,而不是 POST, 所以沒有 Postback 一說。

  而你恰好測試的是網(wǎng)站首頁,正好是該目錄的默認(rèn)文檔,所以就被 "./" 這個路徑給引用到了。

  你可以用一個簡單的 HTML page 來測試,而不用 aspx,就會很明了了。

  最后的結(jié)論是,這個問題不能怨 asp.net,也不能怨 ImageUrl 控件,充其量只能怪它多輸出了一個無用的 url="" 屬性(在沒有指定 ImageUrl  的情況下),其最壞結(jié)果也只是多發(fā)出了一次對該目錄下默認(rèn)文檔的請求而已,并不會帶來什么嚴(yán)重后果。

  =================================================================

  在下圖,通過分析Request Header中的Accept,不難發(fā)現(xiàn)瀏覽器第一次請求服務(wù)器時是正常的請求(text/html,application/xhtml+xml),第二次則是在請求圖片(image/png,image/*):

在新窗口中預(yù)覽圖片

    下面簡單的說說揪出元兇的過程:

  1.  排除瀏覽器導(dǎo)致二次請求的可能性:由于是在Firefox中發(fā)現(xiàn)問題的,于是用IE打開頁面,用HttpAnalyzer監(jiān)聽發(fā)現(xiàn)二次回調(diào)還是存在

  2.  排除MasterPage導(dǎo)致二次請求的可能性:由于頁面用到了MasterPage,打開其他也使用同意個MasterPage的頁面,仔細(xì)檢查發(fā)現(xiàn)除首頁外,其他頁面不存在二次請求的問題,排除MasterPage出錯的可能性

  3.  排除Javascript導(dǎo)致二次請求的可能性:在Firebug中,把Javascript禁用后,刷新頁面,發(fā)現(xiàn)二次請求還是存在

  4.  排除后臺代碼導(dǎo)致二次請求的可能性:把后臺代碼全部注釋,刷新頁面,發(fā)現(xiàn)二次請求還是存在

  5.  經(jīng)過上面的排除法,現(xiàn)在只剩下前臺頁面的造成二次請求的可能性了,雖然頁面代碼不少,但為了解決問題,還是硬著頭皮上:經(jīng)過漫長的注釋前臺代碼,刷新頁面,功夫不負(fù)有心人,終于讓我發(fā)現(xiàn)原來是asp:Image造成了二次請求!

  點(diǎn)擊下載代碼

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 一级黄色毛片 | 欧美xxxx黑人又粗又长 | 久久不射网 | 精品久久久中文字幕 | 久久69精品久久久久久久电影好 | 逼网 | 久久精品播放 | 91视频在线免费 | 不卡中文字幕av | 国产一区二区免费网站 | 成人在线免费视频 | 夜间av免费看精品 | 日韩精品一区在线视频 | 国产精品三级在线观看 | 亚洲 欧美变态 另类 综合 | 欧美3级 | 三级黄色片 | 亚洲一区欧美一区 | 精品欧美乱码久久久久久 | 精品视频在线免费 | 成人午夜网 | 欧美性xxxxhd | 91一区二区三区 | 综合久久精品 | 欧美乱大交做爰xxxⅹ性3 | 成人资源在线 | 99精品热| 精品国产乱码久久久久久牛牛 | avtt在线播放 | www久久99| 最近免费观看电影大全在线观看 | 成人福利在线观看 | 男男视频黄www动漫 超碰97国产精品人人cao | 欧美亚洲一区二区三区 | 国产成人免费视频网站视频社区 | 久久午夜视频 | 欧美一区日韩一区 | 欧美日韩综合在线 | 免费视频在线观看网站 | 久久久精品日韩 | 午夜性视频 |