【问题标题】:An ASP Button problem on IE6IE6 上的 ASP 按钮问题
【发布时间】:2011-01-05 02:34:43
【问题描述】:

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

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

这些是不工作的按钮

这些是工作按钮

按钮定义之一的示例:

        <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,虽然我不知道这是否相关。

【问题讨论】:

  • 你给你的屏幕拍照了吗?你知道大多数键盘上都有一个“打印屏幕”按钮吗?
  • +1 为“屏幕截图”赋予字面意义;)@Filip:也许客户问题不知道?
  • 我认为我们需要查看更多代码。具体来说,SkinID“formbutton”的定义/标记是什么?
  • 你可能是对的,当他们发现这很容易时,他们可能会很高兴。
  • 好的,有一张坏按钮的照片,但现在我在上面放了一个屏幕抓取。万岁 IETester 允许我在 Win7 上以 IE6 呈现页面。 :)

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


【解决方案1】:

我在这里看到了两个潜在的原因。

  1. SkinID 可能存在无法立即看到的格式问题,即使在最终呈现的输出中也是如此。您是否尝试过使用 CssStyle 属性来设置按钮格式?

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

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

希望这些项目中的一个可以解决问题。一般来说,我建议您的按钮使用 CSS 路由,因为 CSS 已经很成熟,除非您已经有一些使用皮肤的要求。

【讨论】:

  • 好的,格式问题是 CSS 问题,谢谢! :) 未能触发的事件是由 IE6 错误 (bit.ly/66kEP6) 引起的。
【解决方案2】:

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

ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2012-09-13
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多