在更新面板中禁用页面重新加载

时间:2013-02-25 17:48:23

标签: c# asp.net

我有一个带有更新面板的ASP.NET页面。 通常情况下,如果我使用更新面板,则应该只有回发但没有完整的页面重新加载。

就我而言,当我点击一个按钮时,它总是会重新加载页面。虽然此按钮位于更新面板中。

我发现了什么:当我把

Response.End();

在Button_Click方法中,没有重新加载。

我在.aspx上的代码:

    <asp:UpdatePanel ID="upUserDefault" runat="server">
        <Triggers>
            <asp:PostBackTrigger ControlID="btnPrintSelectedArticles" />
        </Triggers>
        <ContentTemplate>

        <cc1:MenuButton runat="server" ID="btnPrintSelectedArticles" OnClientClick="return ShowPrintStickersPopUp();" ButtonText="Print" />

    </ContentTemplate>
</asp:UpdatePanel>

代码背后:

页面加载:

btnPrintSelectedArticles.MenuButton_Click += btnPrintSelectedArticles_MenuButton_Click;

方法:

    void btnPrintSelectedArticles_MenuButton_Click(object sender, EventArgs e)
    {
        // Disables reload
        Response.End();
    }

MenuButton是一个用户控件

如何禁用重新加载整个页面的任何想法?

编辑: 这是来自ClienClick的ShowPrintStickersPopUp JS。如果检查了任何复选框,它只会检查网格视图

function ShowPrintStickersPopUp() {
        var gridView = document.getElementById('<% =gvArticles.ClientID %>');

        //get all the control of the type INPUT in the base control.
        var inputs = gridView.getElementsByTagName("input");

        for (var n = 0; n < inputs.length; ++n) {
            if (inputs[n].type == 'checkbox' && inputs[n].checked) {
                // If at least 1 checkbox is checked, open popup
                window.open('PrintStickersPopUp.aspx', 'Print Stickers', 'width=700,height=550');
                return true;
            }
        }

        return false;
    }

1 个答案:

答案 0 :(得分:0)

您的客户端方法看起来不错。您还记得在页面上添加ScriptManager对象吗?与UpdatePanel相关的许多问题都与没有添加一个问题有关。