Monday 15 February 2010

javascript - ASP.Net get ScriptManager.RegisterClientScriptBlock return on UpdatePanel hiddenField -



javascript - ASP.Net get ScriptManager.RegisterClientScriptBlock return on UpdatePanel hiddenField -

i trying obtain homecoming of javascript function phone call ont server side using scriptmanager.registerclientscriptblock .

currently, javascript function save value in hiddenfield contained in updatepanel. when phone call method , run scriptmanager.registerclientscriptblock , after value of hiddenfield , returns me value of previous call. here show code:

my user command aspx side:

<script> var num = 0; function getreturn() { num = num + 1; var hr= document.getelementbyid('<%= hdf.clientid %>'); hretorno.value = num; } </script> ... <asp:updatepanel id="up1" updatemode="conditional" runat="server"> <contenttemplate> <asp:hiddenfield id="hdf" runat="server" /> </contenttemplate> </asp:updatepanel>

my user command server side code:

public string getreturn() { homecoming mycontrol.jsgetreturn(this.page, this.hdf); } private static string jsgetreturn(page page, hiddenfield hid) { scriptmanager.registerstartupscript(page, page.gettype(), "key", "getreturn();", true); homecoming hid.value; }

index page aspx side:

<asp:scriptmanager id="scriptmanager1" runat="server"> </asp:scriptmanager> <div style="width:720px; height:480px;"> <uc1:mycontrol runat="server" id="mycontrol1"/> </div> <asp:updatepanel id="updatepanel1" runat="server" updatemode="conditional"> <contenttemplate> <asp:button id="btn" runat="server" onclick="btn_click" /> <asp:textbox id="txt" runat="server" ></asp:textbox> </contenttemplate> </asp:updatepanel>

index page server side code:

protected void btn_click(object sender, eventargs e) { txt.text = mycontrol1.getreturn(); }

you can not these things simultaneously.

set value of hidden field server side code using javascript via registerclientscriptblock or registerstartupscript. and retrieve hidden filed value in server side code @ same time.

this because, (changed) hidden field value available server-side code when there postback, when set value server-side, there no postback happening, why getting previous value , i.e. old value posted page.

edit

when invoke registerclientscriptblock or registerstartupscript, won't create js phone call instantly, rather append javascript call before or after <form.. tag based on used , called on document load, means in jsgetreturn when phone call registerstartupscript, set value of hidden field in document load, - hid.value not have updated value, yet incremented via document load.

javascript asp.net ajax updatepanel registerclientscriptblock

No comments:

Post a Comment