ASPConf: Generating dynamic views, but Google Chrome was too smart for me
Posted by Igor Moochnick on 07/20/2012
I had a blast presenting for ASPConf 2012. I want to thank all the organizers, presenters and attendees. Without you it wouldn’t have been possible.
One of the questions from one of the attendees during my “Building complex Single Page Application should be as enjoyable as visit to a SPA” talk was:
Q: Is it possible to bring on-demand portions of the application that will be emitted by the Asp.Net MVC Views (aka: dynamic views generation)
A: Sure (see Picture #3).
But when, in fact, I’ve tried to demonstrate it right away – I hit a snag.
What happened is: my implementation was correct but Google Chrome was too smart for me to handle it and wrapped the partial HTML with the full “HEAD” and “BODY” tags [See Picture #1].
I’ve assumed that my server was returning more than the generated by the Raw view content itself. If I would’ve checked a network stream [See Picture #2] (or Fiddler) I would’ve seen another result – the correct one.
So, this is a simple example how you can import a dynamically generated content from an Asp.Net Mvc view into a SPA application:
1. Create a view
2. Create a Controller entry (when you’ll navigate to this view you should see a result on Picture #2)
3. Change a dependency path in your SPA view to point to the new content (and the final result should look like Picture #3)