单击FontAwesome图标会在asp.net中引起完全回发

时间:2019-03-19 11:16:25

标签: asp.net webforms font-awesome updatepanel

我在Asp.Net网络表单中有一些页面,带有一些更新面板(带有UpdateMode="Conditional"),并且在其中有一个asp:LinkBut​​ton,其中带有这样的字体图标

<asp:LinkButton ID="btn" runat="server" CssClass="btn btn-success  btn-responsive">
    <span aria-hidden="true" class="fa fa-user-circle"></span> Foo
</asp:LinkButton>

当我精确单击图标时,页面将按预期进行全部回发和部分回发

搜索后,我知道问题可能出在事件传播上,所以我创建了一个这样的脚本:

$('.fa').click(function (event) {
    event.stopPropagation();
    if (!(this.parentNode === null)) {
        this.parentNode.click();
    }
});

这适用于带有runat =“ server”标签的html按钮,但不适用于asp:linkbutton,我也有成千上万个链接按钮,但我无法全部覆盖它们。 有什么建议吗?

最诚挚的问候

更新:

这是页面:

<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Iscr.aspx.vb" Inherits="Iscr" %>

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

<asp:UpdatePanel runat="server" ID="UpdatePanelIscr" UpdateMode="Conditional" >
    <ContentTemplate>

        <script type="text/javascript">
            var prm = Sys.WebForms.PageRequestManager.getInstance();

            prm.add_endRequest(function () {
                load();
                loadScript();
            });

            $(document).ready(function () {
                loadScript();
            });

            function loadScript() {

            }

        </script>

    ...form....

        <div class="floatingButtonBar">
    <asp:LinkButton ID="btn" runat="server" CssClass="btn btn-success  btn-responsive">
            <span aria-hidden="true" class="fa fa-user-circle"></span> Foo
        </asp:LinkButton>
        </div>

    </ContentTemplate>
</asp:UpdatePanel>

1 个答案:

答案 0 :(得分:0)

将名为UpdateMode的更新面板属性更改为Conditional

示例:

 <asp:UpdatePanel UpdateMode="Conditional" ID="UpdatePanel1" runat="server">

更新:

还要确保页面指令ClientIDModeAutoID 示例:

<%@ Page Title="" ClientIDMode="AutoID" Language="C#"%>

更新:

似乎ClientIDMode="Static"不能用于更新面板,请检查修复方法: Possible solution to UpdatePanel and ClientIDMode="Static"