我有一个 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("ctl00$ContentPlaceHolder1$btnSaveInProgress", "", true, "", "", 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("ctl00$ContentPlaceHolder1$btnSaveInProgress", "", true, "", "", false, true))"
type=button value="Save as In Progress" name=ctl00$ContentPlaceHolder1$btnSaveInProgress>
可能值得一提的是,它还在页面上使用了 Telerik AjaxManager,尽管我不知道这是否相关。
最佳答案
我在这里发现了两个潜在的原因。
SkinID 可能存在无法立即看到的格式问题,即使在最终渲染的输出中也是如此。您是否尝试过使用 CssStyle 属性来进行按钮格式设置?
根据this article ,IE6 如何处理 CSS 中的填充和边距存在一些问题。答案是在 CSS 类中添加第二行,IE6 将拾取该行。所以你的类文件将如下所示:
.FormButton
{
颜色:白色;
背景颜色:#547ED8;
边框样式:双;
内边距:3px;
_内边距:3px 0px 3px 0;/* IE6 解决方法 */
}
希望其中一件元素能起到作用。一般来说,我建议无论如何为您的按钮使用 CSS 路由,因为 CSS 已经很成熟了,除非您已经有一些使用皮肤的要求。
关于asp.net - IE6 上的 ASP 按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2064799/