Для того, чтобы ваш шаблон редактора был вызван, вам нужно использовать:
<%= Html.EditorFor(model => model.Firstname) %>
а не:
<%= Html.TextBoxFor(model => model.Firstname, new { style = "float: left; width: 4.1em;", maxlength = "4" })%>
Используя Html.TextBox, вы явно прописываете это значение и хотите, чтобы <input type="text" ...
, и вы не можете переопределить или заменить его. По этой причине рекомендуется использовать Html.EditorFor
, поскольку он позволяет изменять способ визуализации путем определения пользовательского шаблона в папке Views\Shared\EditorTemplates
.
Теперь, если ваш редактор называется: Test.ascx
, вы можете вызвать его так:
<%= Html.EditorFor(model => model.Firstname, "Test") %>
или путем украшения свойства модели представления атрибутом [UIHint]
:
[UIHint("Test")]
public string Firstname { get; set; }
, а затем просто:
<%= Html.EditorFor(model => model.Firstname) %>