I have a master page, inside that I have a menu controls and other css, JS files.
Whenever I refresh the page from client, everything is coming from the server.
Now I want to cache those controls and those files as per session.
Is there any setting or programmatic settings there to do it?
You should read up on ASP.Net Caching – there are lots of flexible ways to cache your pages.
However in your case, it sounds like you should just be able to add the OutputCache directive to the top of your page:
Static CSS and JS files should be cached automatically by the browser. If you’ve embedded them as webresources then the caching directives will help you cache them as well.