AJAX Toolkit AutoCompleteExtender with a *PAGE* service? - asp.net

I have an application currently using the AJAX Toolkit AutoCompleteExtender to extend a textbox. It is using a webservice to select and retrieve the data. The docs for the toolkit say that you can also use a page service and I have been trying for days to get that to wrok - both in the vs2005 and the 2.0 framework version and vs2008 and the 3.5 framework version (the attrubutes for the page service are slightly different in each version). I cannot get either version to work with a page service - both work just fine with a web service.
Has anyone had any luck with this?
Thanks

Have You checked the following:
Your page method is (You really mean page method, not page service?) is static.
The method return a List or string[].
The parameters are (string prefixText, int count). Order and case matters.
You can also look at http://allwrong.wordpress.com/2007/03/13/ms-ajax-autocomplete-extender-using-a-page-method/ .
/Andreas

Have you had a look at your page with either Firebug in FireFox or Fiddler with IE to actually see what (if anything) is going on with the scripts and network calls? Firebug's script tab will show you nicely what script methods have been loaded, and will show you network traffic between the browser and server on the Net tab, while Fiddler will mostly allow you to analyse and edit network traffic.
Are you using master pages, and is the control on the master page or the page itself - you can't have page methods on a masterpage?

Have +1'd Zalph as his answer tipped me off. The method must be in a page. I had mine in a user control!

Related

RadScriptManager and RadRotator

I'm new with this code (Telerik ASP AJAX) there was another guy who is not here anymore, so we can't ask him to help..
There is a page with simple questionary.. it has been working on previous WEB server (based on IIS Windows 7).
After we built the new PC we also installed Win_7 and the same IIS, but the Telerik Version might be freshier.
..
There is a main page with PlaceHolder (PH) with RadScriptManager.
Then, from another code, RadRotator is created and added as a Control to the PH.
..
During debugging everithing is Ok, I can see how the code creates all the elements, creates RadRotator with success, and then the created Rotator is successfully passed to PH container.
''
But at the end of the way there is no Rotator visible at the page.
..
And I can't see it's references to it's script on the page as well.
It should be like that:
<script src="http://some path/2016.3.914/Rotator/RadRotator.js" type="text/javascript"></script>
But there is no such state on the final page.
The IIS is set to Integrated Mode, not Classic. Also the App is under NET4.
Why generally that would be?
If the question is not clear, please, ask me for clarification.
Well, sorry, I forgot to report the answer..
The problem was that in new version
RadScriptManager
should be replaced with
ScriptManager
.
This may be caused by many things and this fix is strange.
Ensure the Telerik CDN is enabled so you get the URLs as you said you expect. You need the RadScriptManager for this
Ensure access to those scripts is provided in your network (monitor the network requests, ensure they return 200 or 304, speakwith your network admins otherwise)
Ensure you are using an official version and not an internal build, only official releases have CDN
if you are using webresource requests, add <location> elements to the web.config to allow anonymous access to the Telerik handlers that fetch the resources

call ajax and asp callbacks through proxy

I have two parts of my ASP site,
and i'm trying to view one site in the other, using proxy.
i'm doing it through IHttpHandler.
The site is looking good through the proxy, but i can't call AJAX, either use ASP callbacks (in my case a telerik grid).
any help would be appreciated.
Telerik controls (Like other MS AJAX based toolsets) utilize WebResources heavily. Make sure your proxy is transparent for them as well (e.g., either does not route them at all, or that they return succesfully, even though I do not know how one app could server another's webresource request).
Consider just framing those pages (e.g., in RadWindows, RadPanes inside a RadSplitter, simple iframes, whatever fits your design).
You can also try using the CDNs Telerik offers in addition to the MS AJAX CDN,so that less webresoures are being used.

Dynamically loading content (ajax) other than using page methods

I'm working on a site at the moment that loads all of its browser popups by using page methods. This approach works but it's starting to get messy. I also view page methods as ways to perform small tasks, username availability comes to mind.
What other options are there besides page methods and the update panel?
You should look at the JQuery ajax functionality. http://api.jquery.com/category/ajax/
You can point the url of the AJAX request to an aspx page or an html page or pretty much any web resource that you like, as long as the request is handled on the server by some kind of HttpHandler. And as long as your callback handler is able to handle and display the returned resource
PageMethods sounding fine to me (which are essentially Webservices).
You could pull more data per request and use cache more. You could build a better JavaScript wrapper which satisfies the need for more tidiness.
You could choose another library: How to call a web service from jQuery

How can I know when .aspx call is finished?

I am building a Flex Application that calls a .aspx page on the same webserver which builds a PDF report using SQL Reporting Services. When the report is built it prompts the user to open or save the PDF.
We are trying to find a way to display a Progress Bar to let the user know that the report they requested is being built, and then destroy the Progress Bar once the report is finished being built.
I've tried opening a new window using JavaScript and trying to catch when the window closes, as well as trying XMLHTTPRequest, but nothing to seems to work.
Does anyone have any suggestions?
There are 2 options:
Use the FileReference class in Flex to programmatically invoke your aspx file. You will be able to track the progress of the call from within Flex by listening to its events. But the users can only save the PDF, not open it.
Have an intermediate HTML page that displays a loading icon and then refresh itself to your PDF generating ASPX page. Encode your aspx url along with parameters etc and set it as a parameter to this intermediate page so it knows what to load.
If you don't have control over the page to be able to put JavaScript on it to hit a URL (or call back to the parent/opener), then you might consider whipping up an aspx page of your own to host a ReportViewer control, and display the report inside of that. This would require you to create a .NET website with a page and a web.config - you wouldn't need to do more than make it receive any parameters your report needs, and it would be do-able via inline-to-the-aspx code as opposed to requiring in-depth .NET knowledge.
Or, you could hit the SS-RS API and render the report directly. Here, you'd craft a URL with parameters for the report on the SS-RS API site to accept. I think, though I don't know for sure, that the SS-RS UI uses the API itself behind the scenes. By default the API is hosted in a site called "reportserver" - you might sniff HTTP traffic while the report is being rendered to get you started with the URL that you'd need to hit.
Another option not mentioned here is to create a .Net webservice, add it to your flex project and when it hits the result handler you know the file is created at that point.

What is the .MSPX file extension?

I've noticed a lot of Microsoft sites have the *.MSPX extension. While I'm very familiar with ASP.NET, I've not seen this extension before.
Does anyone know what this identifies?
A few internet searches led me to http://www.microsoft.com/backstage/bkst_column_46.mspx, but it was a dead link. Fortunately, it was archived on the Wayback Machine and you can read it here:
http://web.archive.org/web/20040803120105/http://www.microsoft.com/backstage/bkst_column_46.mspx
The .MSPX extension is part of the "Microsoft Network Project," which according to the article above, is designed to give Microsoft's sites a consistent look-and-feel worldwide, as well as keep the design of the site seperate from the content. Here's the gist of the article:
The presentation framework includes a custom Web handler built in ASP.NET. Pages that use the presentation framework have the .mspx filename extension, which is registered in Microsoft Internet Information Services (IIS) on the Web servers. When one of the Microsoft.com Web servers receives a request for an .mspx page, this custom Web handler intercepts that call and passes it to the framework for processing.
The framework first checks to see whether the result is cached. If it is, the page is rendered immediately. If the page is not cached, the handler looks up the URL for that page in the table of contents provided by the site owner (see below) to determine where the XML content for the page is stored. The framework then checks to see if the XML is cached, and either returns the cached content or retrieves the XML from the data store identified in the table of contents file.
Within the file that holds the content for the page, XML tags identify the content template to be used. The framework retrieves the appropriate template and uses a series of XSLTs to assemble the page, including the masthead, the footer, and the primary navigational column, finally rendering the content within the content pane.
I think it's an XML based template system that outputs HTML. I think it's internal to MS only.
Well, a little googling found this:
The presentation framework includes a
custom Web handler built in ASP.NET.
Pages that use the presentation
framework have the .mspx filename
extension, which is registered in
Microsoft Internet Information
Services (IIS) on the Web servers.
When one of the Microsoft.com Web
servers receives a request for an
.mspx page, this custom Web handler
intercepts that call and passes it to
the framework for processing."
I'd like to find out more info though.
I love you guys, i was asking myself also many times, why MS uses .mspx and what it is at all?! :)
That time i couldn´t find any informations quickly and assumed it would just be something on top of asp.net or maybe not even that, because you should be able to assign the same asp.net cgi dll to .mspx also easy too ;)
But, surely, it can be anything.. also an "special" CGI itself (completely beside ASP.NET), which processes that request with much better / much more cache-use, easier editing and so on..
The end of the story was, that i came accross the view, that maybe it´s not important to know, what .mspx exactly is :)

Resources