there are scenarios where you want to minimize redundancy and fasten up productivity, hence partial views play role over here. 1st Approach suppose you are creating a user mgt application where you'll first add user with four input fields, then will show them in index page, if operator want to edit any user record, that record will get displayed in edit mode (same four fields) then upon update record gets saved in db. in this scenario either you have to create two different views create and update containing same fields OR you just make a template / partial view and call it in both views resulting in mitigating redundancy, increasing productivity, also if you want to make some changes, you dont need to update both views i.e (create / update) you'll only need to update one partial view. create.cshtml @model Model.User Html.BeginForm() { @RenderPartial() } update.cshtml partialuser.cshtml 2nd Approach what I see in your controller is a mix of methods. I