TLDR適用於:出站規則不裏面的UpdatePanel
我使用的是IIS 7.5 URL重寫映射圖像路徑到一個CDN出站規則不是的UpdatePanel部分回發中應用。
這裏發生了什麼
的簡化版本<Repeater Goes Here>
<img alt="alt text" src="<%#getImageSource(Eval("Filename").ToString())%>">
<End of Repeater>
假設功能getImageSource返回"/images/someimage.jpg"
這又重寫爲
<img alt="alt text" src="http://img.cdn.com/someimage.jpg">
出站規則,使這項工作是:
<rule name="Out_Rewrite_ServeCookieLessImages" preCondition="ResponseIsHtml" enabled="true">
<match filterByTags="Img" pattern="^/Images/(.*)$"/>
<action type="Rewrite" value="http://img.cdn.com/{R:1}"/>
</rule>
<preConditions>
<preCondition name="ResponseIsHtml">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html"/>
<add input="{URL}" pattern="\.axd.*$" negate="true"/>
</preCondition>
</preConditions>
的問題是,使用中繼器時,更新面板
內這是一個異步回發後輸出的實際HTML是
<img alt="alt text" src="/Images/someimage.jpg">
,而不是
<img alt="alt text" src="http://img.cdn.com/someimage.jpg">
我會怎麼做updatepanel解析輸出是否正確?
在此先感謝
編輯:我在這一點上的猜測是,它必須做一些與頁面生命週期......或許在重寫模塊調用的順序...會保持更新