IE6上的ASP按钮问题

时间:2010-01-14 14:35:15

标签: asp.net internet-explorer-6 button telerik

我有一个ASP.NET Web应用程序,在IE7,IE8,IE8(兼容模式)和Firefox上运行得很好,但是,我们现在在IE6上有一些用户(并且他们不会改变任何用户)时间很快)...当在IE6上显示按钮时,它们无法正确渲染,并且onclick事件不会触发。

目前没有任何检测确定浏览器。我是否需要更改页面正在执行的操作以支持IE6?

这些是非工作按钮 alt text

这些是工作按钮

alt text

其中一个按钮定义的示例:

        <asp:Button ID="Button1" SkinID="formbutton" runat="server" Text="Cancel" OnClick="Button2_Click" CausesValidation="False" 
        ToolTip="Cancels any changes"/>

任何想法都会感激不尽。

干杯

编辑1: 在渲染之前,代码是:

<input type="button" name="ctl00$ContentPlaceHolder1$btnSaveInProgress" 
    value="Save as In Progress" onclick="clickOnce(this, 'Cargando...');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnSaveInProgress&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))" 
    id="ctl00_ContentPlaceHolder1_btnSaveInProgress" 
    title="Saves this commission as 'In Progress'" 
    style="color:White;background-color:#547ED8;border-style:Double;padding:3px;" />

渲染后,就是这样:

<INPUT class=rfdDecorated id=ctl00_ContentPlaceHolder1_btnSaveInProgress 
    title="Saves this commission as 'In Progress'" 
    style="PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; COLOR: white; BORDER-TOP-STYLE: double; 
        PADDING-TOP: 3px; BORDER-RIGHT-STYLE: double; BORDER-LEFT-STYLE: double; BACKGROUND-COLOR: #547ed8; 
        BORDER-BOTTOM-STYLE: double" 
    onclick="clickOnce(this, 'Cargando...');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnSaveInProgress&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))" 
    type=button value="Save as In Progress" name=ctl00$ContentPlaceHolder1$btnSaveInProgress>

可能值得一提的是,它也在页面上使用Telerik AjaxManager,但我不知道这是否相关。

2 个答案:

答案 0 :(得分:2)

我在这里看到两个可能的原因。

  1. 即使在最终渲染的输出中,SkinID也可能出现无法立即看到的格式问题。您是否尝试使用CssStyle属性进行按钮格式化?

  2. 根据this article,IE6如何处理CSS中的填充和边距存在一些问题。答案是在CSS类中有第二行,IE6将会选择。所以你的类文件看起来像这样:

    .FormButton
    {
       颜色:白色;
       背景色:#547ED8;
       边框样式:双;
       填充:3px;
       _padding:3px 0px 3px 0; / * IE6解决方法* /
    }

  3. 希望其中一个项目可以解决问题。一般来说,我建议你使用CSS路由作为你的按钮,因为CSS已经很好地建立了,除非你已经有了一些使用皮肤的要求。

答案 1 :(得分:0)

这些按钮看起来像Telerik的RadFormDecorator控件(Web20皮肤)自动设置样式。您可以尝试更新到RadControls套件的更新版本,或查看Telerik论坛,看看IE6中是否存在针对此问题的CSS解决方法。您可以检查的另一件事是,您是否在页面上有一个有效的XHTML文档类型,如果没有,则添加一个。例如:

&lt;!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;