我能够通过使用HttpHandler
来设置一些ASP.NET图像控件来渲染数据库中的图像。ASP.NET HttpHandler和匹配频率
// Notice the ImageHandler.ashx
<asp:Image ID="imgSrvcGrp" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ServiceGroupID", "~/ImageHandler.ashx?id={0}") %>' />
它工作的很好,而且设置起来非常容易。我的问题如下...
我注意到HttpHandler
(ImageHandler.ashx)在我不期望的某些时候被击中。例如,我在页面的Page_Load
事件中有一个断点,该事件包含消耗HttpHandler
的图像标记和处理程序本身中的另一个断点,并且我发现即使没有回发(即 - Page_Load
断点是没有命中)处理程序有时会被击中(即 - 处理程序中的中断点被击中)。
奇怪的是,当我在页面上关闭一个jQuery对话框时发现了这种情况。我在页面上有一个jQuery对话框弹出窗口,并且我发现当关闭jQuery弹出窗口(通过单击X)时,图像处理函数会在页面上的每个图像上使用它,但不会发生回发。
我可以考虑添加的唯一其他细节是我的网页正在使用Telerik的RadTabStrip,并且它有可能对此有影响。
我意识到我的解释相当冗长,所以要更加简洁地回答我的问题:为什么我的图像处理程序会被频繁命中,即使没有发生回发?
我希望这会在所有页面加载时发生,而不仅仅是回发。 – Oded 2012-01-11 17:33:44
它在每个页面加载时都被击中,但是处理程序甚至在没有回传时也是如此。但是,大卫的回答为我澄清了一些事情。 – Jagd 2012-01-11 17:58:35