Я не могу понять, почему это не будет работать. Я использую ASP.NET MVC2, и я просто пытаюсь переопределить внешний вид редактора по умолчанию, поместив этот код в /shared/editortemplates/string.ascx:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%=Html.TextBox(null, Model, new { @class="Text" }) %>
Then на странице my my view, у меня есть эта строка, которая имеет Введите INT32:
<%: Html.EditorFor(model => model.AppID) %>
По какой-то причине это приводит к ошибке:
System.InvalidOperationException: The model item passed into the dictionary is of type 'System.Int32', but this dictionary requires a model item of type 'System.String'.
Я не вижу, как что-то может быть не так на моем завершении, это довольно просто. Почему он пытается использовать редактор для строки, если тип INT32? Я также должен упомянуть, что я переопределил редактор для Bool? Тип (чтобы сделать логические значения как флажок), и он работает просто отлично на той же странице.
Редактировать
Ну, я искал много раз, но я не видел этот пост, пока я не нашел его в «связанных» ссылках. Я полагаю, что это будет работать, я все еще думаю, что это запутанная и несовместительная реализация, хотя:
ASP.NET MVC отображает шаблон строки, но теперь каждый простой тип хочет использовать его!