0
我有一个带有更新面板的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();
}
菜单按钮是用户控制
任何想法如何禁用重新加载整个页面?
编辑: 这是来自ClienClick的ShowPrintStickersPopUp JS。它只是检查gridview是否有任何复选框检查
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;
}
您的ShowPrintStickersPopUp方法是什么样的?默认情况下,在UpdatePanel中使用按钮以及提供PostBackTrigger应该可以防止完整的页面回发,所以我认为ShowPrintStickersPopUp方法中可能会导致回发。 – 2013-02-25 17:52:00
感谢您的回复,我添加了ShowPrintStickersPopUp JS! – Nagelfar 2013-02-25 17:56:04
不知道我要说什么,但是您是否尝试在ShowPrintStickersPopUp中返回false而不是true? – snaplemouton 2013-02-25 18:00:18