You should always roll out the entire site. Because the actually executable code is contained mostly in the DLLs, you can't actually only roll out the pages that changed, like you could with the old ASP. If there are parts of your website that are actually separate, you can break them apart into separate projects, and deploy each entire section separately.
Also, if putting up the whole site scares you, you probably need better testing or quality assurance standards. There should always be a copy of your entire site that can go live at any time, in case the server dies, and you have to replace it, or something else goes wrong.