Javascript - How To Return Data After AJAX Postback Back To The Client
Feb 4, 2010
I have a simple question - I use update panel with custom server control inside. I call __doPostBack from javascript and RaisePostBackEvent on the server fires (I implement IPostBackEventHandler).This is client to server call. Could I return data back to the client (after this partial postback)? What is the best way to achieve this?
I have a cascading dropdown. After the dropdown is populated(it is in another file) i would like to return back to the original form where the control is placed. is there anyway of doing it
(I think) with using a data bound Custom Control on the server to get hold of my data (it will be part of a larger dataset) and to ultimately pass updates to the database. The bit I'm researching at the moment is passing that data to and from the client.One way to pass the data to the client is to use JSON within the Pageload event to construct a set of Javascript objects (one per row in the data). Is that the best way, or am I missing something?
Then, after the data has been manipulated on the client, I need to pass the rows back again so that the server side code can pick them up and process the updates. I've seen a suggestion on here that a hidden text field is one way to do that. Is it the best?Neither of my approaches seem to be at all elegant - and I suspect that I am missing something fundamental in ASP .NET AJAX!
I have a repeater that has a LinkButton in the Item Template. The LinkButton displays a UserControl that consists of a FormView. The UserControl has an HTML Element that when clicked hides the UserControl by simply change the display of the control from 'block' to 'none'. If the 'Close' span is clicked, the UserControl is successfully hidden, but afterward, the 'Edit' linkbuttons no longer postback.
ASP.NET Ajax Library provides some client-side events. For instance:
Sys.Application.add_load( function(args) { // handle the end of any asynchronous post-back. Every-time there's // a server round-trip, this method will be called. } );
During the asynchronous post-back I want to retrieve information to the client. This information must be available in some event like the discribed above.
Does the UpdatePanel or the ScriptManager have any server-side way to retrieve data back to client during an asynchronous post-back?
as per my flow on every click i have a postback without which i cannot store data to client or server.i have 2 ways of data storing one is client side in javascript variables in form of array(which can be lost on postback) the data to be stored are of differnt types some are numeric , some single characters some sepearted with comma other way is on each post back save the data in a session varibale on server & then access currently i have second way considering both the ways and in accrodance with the current flow which is best for maintenance & access speed reasking as i am notyet cleared abt the things.
I have site that I need to have a vendor send an Http Post to us, using querystring parameters, then I have to look up some data and return a few results and parameters back to them. Can this be done using CLASSIC ASP? I ask this because I am still in a learning phase with .NET and have limited resources available to set up a web service.
Basically I want to get some javascript to be sent back to the client and executed from a postback inside an UpdatePanel. Furthermore this is inside of a reusable WebControl. I've tried
this.Page.ClientScript.RegisterStartupScript and this.Page.ClientScript.RegisterClientScriptBlock but Firebug shows that those scripts aren't sent back in the postback's response.
I also tried straight up writing a <script> tag inside the control's main div in the Render method, which does get sent back but isn't executed. I got a hacky solution working, but ideally looking for a cleaner solution. The hack is to add a 1x1 pixel img with width/height set to 0 and use that for an onload event to execute the script and that works, but it seems like there has to be a cleaner way to do this.
I have created a back button on my asp page. However, I would like this back button a a sinlge click to return the user to the page 2 pages before. I have tried to enter the history.back(2) but with no luck it does not work.
I have two checkboxes: cb1 and cb2. They are both hooked up to an onClick event which checks if at least one checkbox is clicked. If this is not the case, it throws an alert and reverts the change. If a legal change was made (e.g. cb2 was checked, followed by cb1 being unchecked), the function calls the server function checkChange() which needs the object and eventargs.
I'm having trouble with the following:
Reverting the change: how can i find out which checkbox was clicked without adding an extra javascript function for the second checkbox? This has to be a scalable solution as more checkboxes may be added later. How do I call the server function checkChange(). I am aware of "this.Page.GetPostbackEventReference" but I am confused as to the parameters it takes.
I encouter some postback issue when using GetPostBackEventReference. Here is the Scenario:I have a javascript modal popup dialog and got a button in this modal dialog which used to select things (this is NOT an asp:button control)
When this javascript dialog HTML button is clicked, it will call the MS AJAX web service call by the javascript: eval() method. And this MS AJAX web service call is dynamically generated. So the code is like this:
var serviceCall = svcCall + "(" + parameters + ")"; //dynamically generate the MS AJAX web service call here eval(serviceCall);
//use eval to trigger the MS AJAX web service call
As you may all know, after complete the MS AJAX web service, you can define a callback function to handle the completion:
function OnComplete(result, userContext, methodName) {
//force to call postback manually eval($(userContext[0]).val()); [code]...
As you can see, this is how I bound the asp:button (i.e. btnSelectUser) 's Click Event to the asp:hiddenfield using the GetPostBackEventReference, and set the registerForEventValidation argument to false. I have also tried to use different ValidationGroup and set the CausesValidation to false.In summarize, I bound the asp:button's Click PostBackEventReference(i.e. __doPostback(....)) to the asp:hidden field's Value attribute, and using javascript eval() to eval this hidden field's value in order to manually trigger postback.
p.s. the btnSelectUser is an asp:button control and used to call out the javascript modal dialog.
Ok, here is the Problem:In the same page, there is some asp:validator, e.g. and , and of coz, when the page run into error, this validator and callout will display to the user. e.g. When the user didn't fill in anything and submit the form, the ValidatorCalloutExtender will display a ballon and tell the user. Imagine one of this ballon/validatorCalloutExtender come out and on top of your screen at the moment.
Then you click the btnSelectUser (asp:button) to show the javascript modal dialog, and in the dialog, you Add some users, and once you hit the SELECT button inside this modal dialog, a MS AJAX web service is trigger as mentioned above, and once this web service is complete, it eval() the asp:hidden field's value (i.e. __doPostback(...))......and do the postback manually.
However, because of the validatorCalloutExtender ballon has display, it somehow cannot trigger the postback in this way, but when I close the ballon/validatorCalloutExtender, the manual postback using eval() is just working fine. Even more strange is that, when the ballon is displayed, the first time I click the SELECT button inside this modal dialog it doesn't fire the postback, however, if I do the same thing again (i.e. open up the javascript dialog, and choose some users, then click the SELECT button again). It able to do the manual postback....and I don't understand why the first time doesn't work.
After it is done, I can't click on my calendar control. I was hoping to add somethign that would force a refresh in the script, but nothing I do works.
I have an AsyncFileUpload with an image control to show a preview of the pic that is uploaded. Everything works fine, however on the postback from the asynchFileUpload the page jumps to the top of the page and then after a second or two it goes down to the proper scroll position. What can I do to avoid having the page jump to the top and then back down again on the postback ?
but when I click on image button below error happen:Invalid postback or callback argument. Event validation is enabled using <pages enable EventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.ArgumentException: Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
I'm trying to save some content whenever a button/hyperlink is clicked using jquery.ajax (Using Asp.net 3.5). The logic is as follows:
Through .bind in jquery I bind my own method(MakeLog) to a button click or hyperlink click. The click events of button/hyperlink contain nothing, I need to use .bind for selective controls.Now we have a button whose click event will fire a method, say MakeLog.Code snippet for MakeLog is as follows:
This works fine in IE but in Firefox this is not sending the data back as expected.I tried to identify the issue and came across the following: http://stackoverflow.com/questions/3522944/jquery-ajax-calls-async-false-vs-async-true .What I understand is that, whenver page is redirecting/reloading due to button click or hyperlink click the async call is not working properly.
I have an ASP.NET TextBox with TextMode = TextBoxMode.MultiLine that is used within an AJAX Update Panel. The .Text value has been pre-set to a value that has multiple lines.
When using Chrome(7.0.517.41) or Firefox(3.6.11) working with the controls posted back value on the server the carriage return is lost if the user hasn't edited the pre-set value.
I've got a bit of a problem UpdatePanelAnimationExtenders. Here's an example of the code structure I have:
[Code]....
Now here's my problem. When dd1 triggers the postback both dd1 and dd2 get disabled (instead of just dd1) and after the request is complete only dd1 gets enabled back. The behaviour is also true the other way around (if dd2 triggers the postback both dropdowns get disabled but only dd2 gets enabled back). I'm not really sure what to make of this.
I have a little issue with my site. I have a page that hosts a google map. However the map does not get shown until the user clicks a button. It then call $.getJSON to get the addresses that i need to show on the map...
$.getJSON(theurl, function(json) { ... }
It all works fine. However if the user then moves to a different page and then clicks the Back button they get the data from the $.getJSON call displayed, not the page itself. It's as if the call to get the addresses has become part of the browsing history. If the user hits refresh when the data appears the full page then gets displayed.Can anyone tell me how to stop this from happening.I'm using the googlemap in an ASP.Net MVC site.
I know i've seen a tutorial for this, but can't locate it anymore. I have a class Employee in c# side, I also have a webservice where I pass in an ID# and an Employee object is returned. Now I want this object returned to Javascript code, I know I've seen it done before, can someone point me to a tutorial that shows something like this being done. I'm using the MicrosoftAjax.js file.
If I use jQuery AJAX to call a specific ASP.NET page method how to have that method return a value back to the AJAX method that called it?
Update
My situation is I have an existing web application with many existing methods. I would like to be able to use jQuery to execute some of these methods and then update the UI with the results. My mandate is to stay away from ASP.NET AJAX and stick with jQuery. Management is concerned about continued development and support with ASP.NET AJAX from Microsoft. I agree with them.
I have a gridview with paging. So for instance, I'm on say the page number 10, and I open the form details on a specific record_id (link). After I update/submit the form, it returns to page number 10. But, if I go to another page, for instance page 5, and submit the form, it returns to page 10.
I've tried some things, for instance history.back(), but it returns to the first page I went to, in this case page number 10 (or whatever the first page I go to).
I'm calling a web service called GetTooltip from inside Javascript. However, since the web service is called asynchronously, it doesn't wait until I get the return value from the web service, before it continues again. This is a bit of a problem for me, since the web service is in a for-loop. How do I make the Javascript wait until I hear back from the web service, before letting Javascript continue the for-loop?
<WebMethod()> _ Public Shared Function GetDate() As String Return DateTime.Now.ToString() End Function
I need this to populate the inside of the div with the string returned by the GetDate() function. I think this should use code similar to this:
[Code]....
I've pulled this example from this site: [Code]....
However, I simply cannot get it to work. Nothing happens. This is just a regular asp.net web project. I haven't done any sort of Ajax-enabling business other than including script tags in my markup to reference jquery.
Here's what the firebug console tells me when I click on the div:
POST http://admin/Default.aspx GetDate 404 Not Found -18ms
Edit: Note: test.aspx/GetDate must match your aspx page name and function name!
I'm using what I believe is a pretty common/boring/generic implementation of a ModalPopupExtender. I'm using client-side JS to show the dialog when the user clicks a link, and hide it if they click "cancel". I only do a postback if they truly want to save the data.
I can click the link to show the dialog, then click the cancel button to hide it, then click the link to show it... ad infinitum. If I decide to save the data via a postback, everything works well, and the dialog is hidden as a result of the postback, all as expected.
However, once the postback completes, my client-side JS show() never works again. Any attempts to click the link fail quietly; no error messages, the dialog just never shows again.