第一次按下按鈕時,事件處理程序被調用並出現一個彈出窗口。退出該彈出窗口後,第二次點擊按鈕時,事件處理程序根本不會被調用。我已經調試了很多代碼,沒有發現任何可能毀掉代碼的'狀態',因此只提供了這一小段代碼。請告訴我,如果您認爲需要更多資源來查明此問題。按鈕點擊事件只觸發一次.NET
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ReferenceControl.ascx.cs" Inherits="DynamicForm.DynamicGenerator.Controls.ReferenceControl" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<%@ Register Src="~/DynamicGenerator/Controls/SearchControl.ascx" TagName="SearchControl" TagPrefix="dyncontrols" %>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline" UpdateMode="Conditional"><ContentTemplate>
<asp:HyperLink ID="link" runat="server"></asp:HyperLink> <asp:Button ID="btn" runat="server" Text="Välj" onclick="btn_Click" />
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="popUpControl" runat="server" TargetControlID="popupDummyTarget" PopupControlID="pnlSearch" BackgroundCssClass="modalBackground">
</ajaxToolkit:ModalPopupExtender>
protected void btn_Click(object sender, EventArgs e)
{
ShowSearch();
}
void ShowSearch()
{
//some stuff
popUpControl.Show();
}
如何讓我的按鈕可以聽取我的請求?
我曾嘗試在事件處理程序中添加DataBind(),不幸的是沒有工作。
UPDATE1:
未捕獲的異常: 第二次點擊的螢火產生這個錯誤[異常...「「Sys.WebForms.PageRequestManagerServerErrorException:Sys.WebForms.PageRequestManagerServerErrorException:無效的回發或回調參數事件驗證。在配置中啓用或在頁面中啓用%@ Page EnableEventValidation =「true」%>爲了安全起見,此功能驗證回發或回調事件的參數來自最初呈現它們的服務器控件。並期望使用ClientScriptManager.RegisterForEventValidation方法爲了註冊回發或回調數據進行驗證。'當調用方法:[nsIDOMEventListener :: handleEvent]「nsresult:」0x8057001c(NS_ERROR_XPC_JS_THREW_JS_OBJECT)「location:」JS frame :: chrome://firebug/content/spy.js :: callPageHandler :: line 744「data:no]
什麼導致彈出?從代碼中不清楚。 – 2011-04-12 14:47:17
刪除RenderMode =「內聯」UpdateMode =「有條件的」...或者刪除updatepanel它有時會造成問題.. – asharajay 2011-04-12 14:48:04
您是否啓用了緩存? – TimC 2011-04-12 14:48:17