title: When to use MVVM (i.e. Knockout.js) or simply return an EditorTemplate object from Controller action
body: <p>In cases where new items need to be added to a list via ajax, what is the biggest benefit of using something like Knockout.</p>
  
  <p>So far what I have been doing is, on my view, use an editortemplate (with asscociated viewmodels) to render a list of items. Then to add a new item, I make a request to an action that loads a server-side viewmodel, and returns an EditorTemplte object which just gets appended to the list. Like this:</p>
  
  <pre><code>return Json(new { this.RenderPartialViewToString("MyEditorTemplate", model) });
  </code></pre>
  
  <p>The knockout way of doing things requires the implementation of another view model to display items, and then another template to display it.  But doing it this way requires duplication of code since the view model has to be represented in 2 places: in the cserver side code and then the view for the knockout viewmodel. Isn't that bad practice?</p>
  
  <p>Am I missing something, or understanding the purpose of knockout and MVVM?  </p>