Why isn't there a simple way to trigger an UpdatePanel from client script?
All I want is something in the order of:
You would think that this is elementry, but apperantly we get things like this, which involve tricking the UpdatePanel into triggering.
Comments
Then you should probably use the UpdatePanel.Update client-side Method :)
http://ajax.asp.net/docs/mref/M_System_Web_UI_UpdatePanel_Update.aspx
@Justin,
You pointed me at the SERVER reference, I need it from CLIENT.
What I am looking for is something like this:
<body>
Last Postback: <%=System.DateTime.Now %>
</body>
UpdatePanels update when a control inside them does a post-back, or when a control that is associated with the updatepanel via a trigger does a postback.
h
So for example, if your button was inside the updatepanel, and you wanted to cause it to postback, you'd just write this JavaScript:
$get('<%=MyButton.ClickId %>').click();
This will cause the button to fire, and the updatepanel it was in (or associated with via a trigger) would update.
Thanks,
Scott
You can use the server-side ScriptManager.RegisterAsyncPostBackControl so any control event will make the updatepanel refresh.
http://ajax.asp.net/docs/mref/M_System_Web_UI_ScriptManager_RegisterAsyncPostBackControl_1_62fe17e7.aspx
or (and you didn't here this from me) look at the Javascript code RegisterAsyncPostBackControl produces and use the Sys.WebForms.PageRequestManager.getInstance()._updateControls client-side method.
Naturelly, you should never use javascript private methods. But you can :-)
@Justin,
I need to make a decision on the client side if I would update the panel or not, it is not just clicking on a control and being done with it.
I would hope to avoid using the private methods.
I am already forced to do this for updating cascading drop down from code.
@Scott,
Yes, I know that, but in this case, I have several panels that contains information, the user is updating a record, which should cause all the other updates to be refreshed. I can't register a control as a post back trigger, because the refresh is depending on the input from the user.
The use case for an update panel in this case is: "I want to update this particular section of the page with information."
In this case, there isn't any way to do this short of faking a postback that the update panel will catch. This seems unnatural to me, because there isn't anything there that should be clicked.
Comment preview