I just noticed that MVC 5 is using a different class for input fields when using EditorFor. I think its from a lower version of bootstrap, so the current class doesn\'t really a
EditorFor doesn't accept HTML attributes as a parameter. The parameter you are using is actually additionalViewData
Use TextBoxFor instead
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
Edit
As of MVC 5.1, HTML attributes can be passed to the EditorTemplate using this syntax
@Html.EditorFor(m => m.UserName, new { htmlAttributes = new { @class = "form-control" } })
If you are using the MVC 5 or prior version use @Html.TextBoxFor
instead of @Html.EditorFor
as given in the following code:
@Html.TextBoxFor(model => model.CivilStatus,new { @class = "form-control" }
and if you also have to bind it knockout.js modelview attribute then:
@Html.TextBoxFor(model => model.CivilStatus, new { data_bind="value: author.civilStatus", @class = "form-control" })
I have used this with MVC4, it's working for me:
@Html.TextBoxFor(model => model.FirstName, new { data_bind="value: author.firstName", @class = "form-control" })