更新パネルのある 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 はユーザーコントロールです
ページ全体のリロードを無効にする方法はありますか?
編集: これは、ClientClick の 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;
}