В моем приложении ASP.NET MVC 3 у меня есть классы, подобные следующим:
public class Localization<T>
{
public int VersionID { get; set; }
public T Value { get; set; }
...
}
public class Localizable<T>
{
public Localization<T>[] Name { get; set; }
...
}
Затем у меня есть следующее представление:
@model dynamic
...
@for (int i = 0; i < VersionCount; i++)
{
...
@Html.Editor(string.Format("Name[{0}].Value", i))
...
}
Теперь, когда я отображаю этоview, передавая подкласс Localizable<string>
в качестве модели, текстовые поля для строк отображаются, но они пусты.Если я заменю @Html.Editor(string.Format("Name[{0}].Value", i))
на @InputExtensions.TextBox(Html, string.Format("Name[{0}].Value", i), Model.Name[i].Value)
, текстовые поля будут правильно заполнены значениями из модели.Однако использование TextBox вместо Editor не подходит для меня, потому что я хочу использовать разные шаблоны редактора для разных типов T. Итак, что я делаю не так, или это ошибка в MVC, и есть ли обходной путь?