LinkButton击的并非在IE8
-
09-10-2019 - |
题
以下的工作只是现在。
<asp:LinkButton runat="server" ID="lbEdit" OnClick="lbEdit_Click">
<button type="button" class="edit">
Edit
</button>
</asp:LinkButton>
这里是CSS按钮及其子类。
button
{
padding: 3px;
}
button.edit
{
background:#3f6096;
border:none;
font:10px verdana;
color:#fff;
width:71px;
margin-top:3px;
}
正如你可以看到,没有什么特别的;只是颜色和美丽的东西。
我点击蓝色的编辑按钮,它触发了果回发就好了。...在铬!
但如果我做同样在IE8,它只是做什么;甚至没有检测点击。
帮助查明问题,我删除标记和保存的只是字"编辑",它的工作只是现在IE8作为一个简单强调了链接;回发火灾。
那么,为什么不能IE8接受任何内LinkButton?
解决方案
为什么使用LinkButton如果你需要处理回发看起来像个按钮在同一时间?为什么不让它只是一个按钮?在我看来,只有理由使用另一个是貌。在功能上,他们都应触发回发。
其他提示
你在做什么不是你 应该 要做,但我想说的是,IE可能是在这里最接近“正确”的人。
您不应在提供链接的其他元素中嵌套按钮元素。您可以简单地删除 button
从内部 LinkButton
, ,将onclick附加到它上,使造型工作,这将是好的。
我说我认为IE的表现更接近“正确”的原因是因为它在执行您在最内向的标签上定义的工作。什么都没有。 (您没有对 button
元素,实际上)。但实际上,无论如何,这不是您应该在HTML中做的事情,因为我认为行为并不是首先定义的。
您想在这里实现什么?
您有一个带有嵌套HTML按钮的服务器端链接按钮?
当您想要一个时,链接很有用 超链接 能够执行寄回。
您是否看过渲染的HTML?我不知道在锚标签中是否有一个按钮甚至有效HTML。
如果您希望寄回由特定的服务器端事件处理,只需使用ASP:按钮即可。
如果您不这样做,只需使用常规的HTML按钮即可。
您可以使用 CSSClass:
<asp:TemplateField HeaderText="Opciones">
<ItemTemplate>
<asp:LinkButton runat="server" Text="Hola!" CommandName="Deshabilitar"
CssClass="btn btn-primary"
CommandArgument='<%# Item.Id %>' />
</ItemTemplate>
</asp:TemplateField>
不隶属于 StackOverflow