You can't decide to cache image on the client side for the user. Caching is a normal process, so the first time your image is loaded and the next time you want to load the page, browser caching is used.
You manage caching with the browser itself, not with Javascript or any other scripting language. You can't use user disk space without it's permission.
ASP .NET's @ OutputCache is used at server side to deliver fastly data :
http://msdn.microsoft.com/en-us/library/xsbfdd8c.aspx