Chris Johnson
Chris Johnson

Reputation: 1374

MVC - send an AJAX ContentResult to print

Using MVC2 I have an AJAX form which is posting to a bound model. The ActionResult is returned as Content and is inserted into an element on the page by the magic of AJAX forms. All is well.

Now I need a button that will print the returned Content. I've tried returning the result wrapped in a full HTML doc with javascript along the lines of window.print(), but of course this won't execute and even if it did I don't want the whole window.

What is the best way to have my ContentResult printed instead of updated in an element?

Upvotes: 0

Views: 608

Answers (2)

Bassam Mehanni
Bassam Mehanni

Reputation: 14944

I tried using jqPrint which works for the most part but it was causing problems in IE, I was printing a model dialog.

I ended up using a print style sheet:

http://www.webcredible.co.uk/user-friendly-resources/css/print-stylesheet.shtml

I basically hided all the content of the page except for my dialog, div or whatever it is you are trying to hide.

This was the solution with the most consistent results across browsers.

Upvotes: 0

scottm
scottm

Reputation: 28699

I've used jqPrint for this same scenario. It basically either copies the content into an iframe and calls print() on that.

Upvotes: 1

Related Questions