我有一个带有更新面板的 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;
}