我有一个带有更新面板的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;
}
答案 0 :(得分:0)
您的客户端方法看起来不错。您还记得在页面上添加ScriptManager对象吗?与UpdatePanel相关的许多问题都与没有添加一个问题有关。