У меня есть класс с именем "AirLineSession":@ Html.HiddenFor() не передает данные на контроллер
public ExtendedList listCo { get; set; }
public ExtendedList listBa { get; set; }
public bool SortbyRating { get; set; }
public AirLineSession()
{
listCo = new ExtendedList();
listBa = new ExtendedList();
}
На мой взгляд, у меня есть:
@Html.HiddenFor(m => m.listBa)
@Html.HiddenFor(m => m.listCo)
@Html.DropDownListFor(a => a.SortbyRating, new[] { new SelectListItem { Text = "Sort by rating", Value = "true" }, new SelectListItem { Text = "Sort by frice", Value = "false" } })
Когда я на вершине этого представления, только данные SortByRating передаются модели в Controller, listBa и listCo не передаются. Я не знаю почему.
Кто-нибудь мне помогает, спасибо.
Не могли бы вы выслать код класса ExtendedList? Причина в том, что asp.net mvc не знает, как создать все Hiddens для сложного типа «ExtendedList». В этом случае вы должны добавить hiddens для каждого поля объекта и коллекции. –
Пробовал ли вы использовать FormCollection в качестве второго аргумента и попробовать проверить этот аргумент для ключей и значений ??? –
Html.HiddenFor может «хранить» только базовые типы по умолчанию (т. Е. Строка, целое число, десятичное число, перечисление и т. Д.). Он не может содержать сложные классы, и из его взглядов ExtendedList у вас есть класс. – Jakub