一个ASP.Net ImageButton无法在Chrome中运行(但另一个是......并且都在IE 9中工作)

时间:2012-08-13 18:33:53

标签: c# asp.net google-chrome imagebutton

我的一个图片按钮在Chrome中不起作用,但另一个按钮是(它们都在IE 9中工作):

无效

<asp:ImageButton ID="lblCustomer" 
    ImageUrl="~/images/Customer.jpg" 
    runat="server" 
    onmouseover="this.src='images/Customer.jpg';" 
    onmouseout="this.src='images/Customer.jpg';" 
    AlternateText="Customer" 
    CausesValidation="false" 
    OnClick="ibtnCustomer_Click" 
    ToolTip="Customer" />

工作:

<asp:ImageButton ID="ibtnUnRegisteredVendor" 
    ImageUrl="images/VendorButton.jpg" 
    runat="server" 
    onmouseover="this.src='images/VendorButtonHover.jpg';" 
    onmouseout="this.src='images/VendorButton.jpg';" 
    AlternateText="Vendor" 
    CausesValidation="false" 
    OnClick="btnUnRegisteredProvider_Click" 
    ToolTip="" />

Chrome中无法点击“客户”按钮 知道为什么客户按钮无法在Chrome中运行吗?

更新:

Chrome中呈现的HTML是:

<div id="Customer" style="width: 100%; left: 5px;">
    <input type="image" name="Master$cphMainContent$lblCustomer" id="cphMainContent_lblCustomer" title="Customer" onmouseover="this.src=&#39;images/Customer.jpg&#39;;" onmouseout="this.src=&#39;images/Customer.jpg&#39;;" src="images/Customer.jpg" alt="Customer" />
</div>


<div id="VendorsButton">
  <input type="image" name="Master$cphMainContent$ibtnVendor" id="cphMainContent_ibtnVendor" title="Vendor log in, registration or access without registration" onmouseover="this.src=&#39;images/VendorsButtonHover.jpg&#39;;" onmouseout="this.src=&#39;images/VendorsButton.jpg&#39;;" src="images/VendorsButton.jpg" alt="Vendors" />
<div id="VendorFeaturesContainer">

3 个答案:

答案 0 :(得分:1)

可能是因为你有两条不同的路径。尝试将第一个ImageUrl更改为"images/Customer.jpg"

答案 1 :(得分:0)

如果上一个建议不起作用,则可能是虚拟目录中的〜/快捷方式存在问题

答案 2 :(得分:0)

当控件(asp:ImageButton)是ASPX Master的“内容占位符”的一部分时 IE11与Chrome对Page,.. /和〜/的解释不同。

IE将按预期方式以前缀〜/响应,以表示Web应用程序的根目录。 IE正在从根目录下一层查找图像目录(ImageUrl =“〜/ images / Customer.jpg”)。

在Chrome中,当图像位于与“内容ASPX文件”相同级别的目录中时,使用../前缀时,插入母版页的文件将按预期响应。 Chrome浏览器会将〜/解释为与“内容ASPX文件”位于同一目录中。也就是说,Chrome正在将您的图片目录作为包含“内容ASPX文件”的目录的子目录进行查找。

据我所知,asp:ImageButton不适合javascript函数。解决方法之一是使用适当的jpg,png,gif等文件,建立两个图像目录(IE会在其中,Chrome会在其中)。