多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 請留心asp:Image控件中的ImageUrl屬性

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

來源:程序員人生   發布時間:2014-05-19 06:51:31 閱讀次數:3504次

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在新窗口中預覽圖片

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

  1.  排除瀏覽器導致二次請求的可能性:由于是在Firefox中發現問題的,于是用IE打開頁面,用HttpAnalyzer監聽發現二次回調還是存在

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

  3.  排除Javascript導致二次請求的可能性:在Firebug中,把Javascript禁用后,刷新頁面,發現二次請求還是存在

  4.  排除后臺代碼導致二次請求的可能性:把后臺代碼全部注釋,刷新頁面,發現二次請求還是存在

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

  點擊下載代碼

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产理论视频在线观看 | 一级成人a做片免费 | 亚洲日本免费 | 久久久成人网 | 亚洲精品毛片久久久久久久 | 日韩一区二区三区四区不卡 | 欧美成免费 | 精品一区二区三区高清免费不卡 | 一级毛片在线完整观看 | 亚洲系列_1页_mmyy11 | 精品久久综合一区二区 | 爱爱a | 国产午夜亚洲精品久久999 | 免费不卡视频 | 精品久久一区二区三区 | 精品女同一区二区三区在线 | 日韩精品一区二三区中文 | 亚洲国产欧美在线成人aaaa | 欧美天天综合 | 亚洲另类网 | 亚洲国产成人资源在线桃色 | 欧美精品久久久久久久小说 | 国产美女久久久亚洲 | 国产免费一级高清淫曰本片 | 曰本一区二区三区 | 爽a中文字幕一区 | 国产性色视频 | 欧美第十页| 国产精品久久久久无毒 | 亚洲精品嫩草研究院久久 | 国产成人精品免费视频大全五级 | www.国产精品视频 | 手机看片福利久久 | 欧美日韩一区二区在线视频播放 | 久久毛片免费看 | 中文字幕免费人成乱码中国 | 精品亚洲综合在线第一区 | 国产男女爽爽爽爽爽免费视频 | 黄色亚洲视频 | 黑人xxxx日本| 欧美高清3dfreexxxx性 |