asp.net - UpdatePanel + AutoCompleteExtender + jQuery = Problems! -
i've got asp.net web form uses updatepanels allow partial page postbacks. within 1 of updatepanels, i'm using autocompleteextender ajaxcontroltoolkit call webmethod on page asynchronously retrieve list of projectnames , associated projectid values. when select item list, i'm using jquery save projectid value hiddenfield server control. need value when click on submit button within updatepanel execute database query. far, works great. here's relevant client-side code:
<asp:updatepanel id="updatepanel1" runat="server"> <contenttemplate> <asp:textbox id="txtprojectname" width="200" tooltip="type first few characters of project search for" runat="server"></asp:textbox> <ajaxtoolkit:autocompleteextender id="autocomplete1" targetcontrolid="txtprojectname" minimumprefixlength="2" completioninterval="250" completionsetcount="20" servicemethod="getprojectcompletionlist" servicepath="default.aspx" runat="server" onclientitemselected="itemselected" /> <asp:hiddenfield id="hdnprojectid" runat="server" /> <asp:label id="lblprojectname" runat="server"></asp:label> <script type="text/javascript"> function itemselected(source, eventargs) { $get('<%= hdnprojectid.clientid %>').value = eventargs.get_value(); $get('<%= lblprojectname.clientid %>').innerhtml = eventargs.get_text(); } </script> <br /><br /> <asp:button id="btnsubmit" text="submit" runat="server" /> </contenttemplate> </asp:updatepanel> but, want display selected projectname text somewhere outside of textbox. reason want clear way visually differentiate between value in textbox matched item in list returned autocompleteextender , old extraneous text leftover didn't match anything. so, i've tried displaying selected text in label control, postback occurs, value disappears. i've tried using variety of server , html controls, behavior same... except asp.net hiddenfield control. i'm not sure why control retains these values across postbacks when others don't, i'm still left without complete solution.
i have found if label i'm using display value outside of updatepanel, works fine, way form laid out, isn't option. realize there better alternatives using updatepanel when need more granular control of update during partial page postbacks, i'd rather delve @ time if there simpler solution problem.
your label control cleared during partial postbacks because resides in updatepanel, gets refreshed, there no provision post "value" (actually inner text) server, refresh resets it.
you'll need use web control can post current value server. i'd suggest textbox control in read-only mode: should work on browsers, , can style make label.
Comments
Post a Comment