【问题标题】:LinkButton's OnClick does not fire in IE8LinkBut​​ton 的 OnClick 在 IE8 中不触发
【发布时间】:2010-10-20 00:20:51
【问题描述】:

以下内容在 Chrome 中运行良好。

<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;
}

如您所见,没什么特别的;只有颜色和美丽的东西。
我单击蓝色的编辑按钮,它会很好地触发 OnClick 回发......在 Chrome 中!
但是如果我在 IE8 中做同样的事情,它什么也不做;甚至没有检测到点击。

为了帮助查明问题,我删除了标签,只保留了“编辑”这个词,它在 IE8 中作为一个简单的带下划线的链接可以正常工作;回发触发。

那么,为什么 IE8 不能接受 LinkBut​​ton 中的任何内容?

【问题讨论】:

    标签: asp.net internet-explorer google-chrome onclick asplinkbutton


    【解决方案1】:

    如果您需要处理回发并同时看起来像一个按钮,为什么要使用 LinkBut​​ton?为什么不让它只是一个按钮?在我看来,使用其中一个的唯一原因是外观。从功能上讲,它们都应该触发回发。

    【讨论】:

    • 不知道为什么我在发布之前没有看到您的答案。 +1!
    • 为我做到了;不知道为什么我从 LinkBut​​ton 开始。切换到 Button 并使用相同的 CSS 效果很好。谢谢!
    • 我遇到了类似的情况,在使用 OnClientClick 进行 JavaScript 确认对话框后,LinkButton 似乎不想继续触发其 OnClick 事件。奇怪的是,只是更改为常规的 ASP Button 解决了这个问题,现在 OnClick 在 IE 中触发。 ¯\_(ツ)_/¯
    【解决方案2】:

    你正在做的事情不是你应该做的事情应该做,但我会说 IE 可能是最接近“正确”的行为。

    您不应将按钮元素嵌套在其他提供链接的元素中。您可以简单地从 LinkButton 中删除 button,将 OnClick 附加到它,使样式正常工作,它会很好。

    我之所以说我认为 IE 的行为更接近“正确”,是因为它正在执行您在最内层标签上定义的操作;这没什么。 (实际上,您没有将任何操作附加到 button 元素)。但实际上,这不是你应该在 HTML 中做的事情,因为我不认为行为是首先定义的。

    【讨论】:

      【解决方案3】:

      你想在这里达到什么目的?

      您有一个带有嵌套 HTML 按钮的服务器端链接按钮?

      当您希望超链接能够执行回发时,LinkBut​​ton 很有用。

      你看过渲染的 HTML 了吗?我不知道在锚标记内有一个按钮是否甚至是有效的 HTML。

      如果您希望回发由特定的服务器端事件处理,只需使用 ASP:Button。

      如果你不这样做,只需使用常规的 HTML 按钮。

      【讨论】:

        【解决方案4】:

        你可以使用CssClass:

        <asp:TemplateField HeaderText="Opciones">
            <ItemTemplate>
            <asp:LinkButton runat="server" Text="Hola!" CommandName="Deshabilitar" 
                CssClass="btn btn-primary"
                CommandArgument='<%# Item.Id %>' />
            </ItemTemplate>
        </asp:TemplateField>
        

        【讨论】:

          猜你喜欢
          • 2011-03-31
          • 1970-01-01
          • 2020-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-13
          • 2021-12-17
          相关资源
          最近更新 更多