Editorfor - модель Model, передаваемый в словаре, имеет тип «System.int32», Но этот словарь требует модельного элемента типа «System.String»

Я не могу понять, почему это не будет работать. Я использую 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 отображает шаблон строки, но теперь каждый простой тип хочет использовать его!

10
задан Community 23 May 2017 в 12:02
поделиться