Recently, I upgraded my solution to 4.0 and everything seems to have upgraded smoothly but for ASP.NET AJAX.
I have an UpdatePanel like so:
<asp:UpdatePanel ID="pnlAdvSearch" UpdateMode="conditional" runat="server">
<ContentTemplate>
<asp:Button ID="btnHidden" Runat="server" OnClick="btnHidden_Click"
ClientIDMode="Static"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnHidden" EventName="Click"/>
</Triggers>
</asp:UpdatePanel>
I have a type-ahead textbox which triggers the btnHidden_Click event on Click/Enter etc. I’m calling the following method on textbox click/enter.
function getSelectionId() {
__doPostBack(
'<%=btnHidden.ClientID%>',
document.getElementById('<%=txtLocation.ClientID %>').value
);
theForm.__EVENTARGUMENT.value = "";
}
I can see a postback happening and the Page_Load executing. However, the server-side btnHidden_Click never gets fired. I do not want to disable event-validation at the page-level. What am I doing wrong here? 🙁
This is what I ended up doing on Page_Load.
When an async postback happens, I just fire the event explicitly. Kinda hacky but not worth spending any more time on it 🙂