我有最奇特的行爲。我正在使用ajaxcontrol工具包來顯示具有窗體的模式彈出窗口。這個彈出窗口是從一個包含asp:linkbutton
的網頁激活的(其上有OnClientClick="aspnetForm.target ='_blank';"
,我不這麼認爲,但也許這是相關的)。 現在,如果我點擊鏈接,然後另一個選項卡打開與新的頁面。當我回到原始選項卡並激活這個模式彈出窗口時,如果我點擊取消按鈕(我有那裏),那麼回調函數甚至不會被調用(這個回調只是假設隱藏彈出窗口),我的當前選項卡被重定向到asp:linkbutton所指的同一頁面。一個按鈕重定向到另一個頁面,而不是調用回調函數
某些代碼:
我有一個包含下面的ASP的頁面:LinkButton的:
<asp:LinkButton ID="lbToBuy" runat="server" CssClass="ItemURLStyle" CausesValidation="false"
OnClientClick="aspnetForm.target ='_blank';">buy it>></asp:LinkButton>
這是從用戶控制我動態地添加到一些搜索結果頁面的線。 後面的代碼是:
lbToBuy.PostBackUrl = "~/pages/PassagePage.aspx?i=" + itemInfo.ItemID.ToString();
現在,我有另一個用戶控件添加到原來的頁面這是從我的網站項的搜索欄:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:LinkButton ID="lbAdvancedSearch" runat="server" Style="color: #f6f7ff; font-family: Arial;
font-size: 12px; text-decoration: underline;">Search options</asp:LinkButton>
<asp:ModalPopupExtender runat="server" ID="AdvSearchPopupModal" TargetControlID="lbAdvancedSearch"
PopupControlID="pnlAdvSearch" BackgroundCssClass="modalBackground" DropShadow="false"
RepositionMode="RepositionOnWindowScroll">
</asp:ModalPopupExtender>
<asp:Panel ID="pnlAdvSearch" runat="server" CssClass="modalPopup" Style="display: none;">
<asp:Panel runat="server" ID="Panel3" CssClass="modalHeader">
Advanced search
</asp:Panel>
<div id="SearchFormWrap">
<div id="SearchFormBox">
<br />
<table cellspacing="5">
<colgroup>
<col width="100px;" align="left" />
<col width="300px;" />
</colgroup>
<tbody>
SOME UNIMPORTANT SEARCH CRITERION HERE
</tbody>
</table>
<div style="width: 280px; margin: auto; padding-bottom: 15px;">
<br />
<div style="width: 210px; height: 30px; margin: auto;">
<asp:Button ID="btnQuitAdvSearch" runat="server" CssClass="myButtonShape" Style="font-size: 14px;
float: left; height: 25px; width: 100px;" OnClick="btnQuitAdvSearch_Click" CausesValidation="false"
Text="Cancel" />
<div style="width: 3px; height: 25px; float: left;">
</div>
<asp:Button ID="btnAdvSearch" runat="server" class="myButtonShape" Style="font-size: 14px;
float: left; height: 25px; width: 100px;" OnClick="btnAdvSearch_Click" OnClientClick="return btnSearch_OnClientClick();"
CausesValidation="true" Text="Search" />
</div>
</div>
</div>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
代碼隱藏:
protected void btnQuitAdvSearch_Click(object sender, EventArgs e)
{
this.AdvSearchPopupModal.Hide();
}
現在,當我按下我的頁面中的鏈接時,另一個選項卡將按照預期使用定向鏈接打開。 當我回到原來的頁面,我按高級搜索按鈕,我得到這個模態彈出窗口顯示搜索條件。如果按下「搜索」按鈕,所有事情都按預期進行並形成新的搜索,但如果按下「取消」按鈕,頁面將重定向到我點擊的最後一個鏈接(在當前選項卡中,即替換原始頁)。我在btnQuitAdvSearch_Click函數中放置了一個斷點,但它從未被調用過。
任何想法?
你有沒有試過在你的Modal Popup的'CancelControlID'Attribute中指定你的Cancel按鈕? – Drew
男人,這似乎解決了這個很奇怪的問題。你不知道我爲此掙扎了多少時間。非常感謝。你碰巧知道如何將它標記爲解決方案? – dsb