views:

109

answers:

5

When a user clicks a button I need to create a .bmp file on the server. After the .bmp file is created I will load it into the html page. Would Ajax be the best way to accomplish this?

A: 

if you don't want a full post back, yes.

senloe
+2  A: 

Short answer: Yes.

ajax would be the best way to do this. Look at the jquery docs to start with. Its not really that simple of a thing to do and doesn't lend itself to posting a snippet to illustrate. You're going to have to get cozy with several possibly new concepts here.

http://docs.jquery.com/Main_Page

Here's the direct link to jQuery's ajax documentation.

http://api.jquery.com/category/ajax/

If you've never done jQuery, its kinda weird, but definitely worth taking the time to get used to.

Tim Coker
'"If you've never done jQuery, its kinda weird"' -- only if you're unfamiliar with either CSS or JavaScript
STW
The whole attaching methods at runtime think is kind of a mind fuck. Yes, its part of what makes javascript kick ass, no argument there. But I started using javascript back in the late 90s when it was used mostly as a procedural scripting language. If that's your frame of reference, wrapping your head around the way jQuery (or any modern javascript framework) works takes some time. :)
Tim Coker
A: 

if you want to provide an useful feature on this then you should go Ajax if not then a postback is OK

Oscar Cabrero
+4  A: 

Yes AJAX is the best way. It can be done through ASP.NET's AJAX mechanisms, jQuery itself or another of your choice.

If you're just generating an image for return to the browser then instead of invoking an ASP.NET page (.aspx) lifecycle for it, use the lighter HTTP handler (.ashx). Here's an example on the server-side.

(The HTTP Handlers work by inheriting your class from something like DefaultHttpHandler or implementing IHttpHandler instead of the Page class.)

Additional Samples and notes about AJAX communication:

To debug this kind of stuff it's very useful to have an HTTP Monitoring utility like Fiddler to watch the out-of-band HTTP requests and responses.

John K
A: 

You don't have to use Ajax. You can set your page to AutoEventWireUp="false" and handle all events by hand. Circumvent the Page_Load event on the Button click and voila.

TheGeekYouNeed