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?
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.
if you want to provide an useful feature on this then you should go Ajax if not then a postback is OK
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:
- If you choose an ASPX Page to generate your image, then use WebMethod attributes on page methods to facilitate AJAX communication with them; or an explicit .ASMX Web Service to do the same using the WebMethod attribute.
or, - ASP.NET AJAX and HTTP Handlers
- You can pick up many tidbits from Stackoverflow for example, you don't need an ASPX or ASHX page, just a raw class that inherits IHttpHandler and web.config httphandler settings in place to make it work.
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.
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.