For a multiple step data entry process that ends with a single submit to a database, I use an SPA that steps through partial views. To start I issue a URL with a new GUID, then it's all post-redirect-get to the same URL, so you have none of the forward-back state screw-ups, or the nonsense of F5 asking the user to "re-submit". I store the entered data in memory server-side, accessed via cache keyed on the URL's GUID. This way if the user hits F5, they don't lose everything. And POSTs are only what the user just entered, not the whole freakin form.
Sometimes I get a protest that you can't use the browser's back or forward buttons to navigate the data entry process, but if your UI makes doing that easy and obvious, it's really not that big of a deal.
I don't see a lot of other developers using SPA, but it's worked well for me.