Примечание: здесь используется Kendo UI для. NET Core пакета, который, хотя и похож, имеет отличия от версии Jquery, поэтому, пожалуйста, сосредоточьтесь только на этой платформе.
Первоначально У меня был выпадающий список клиентов, который был привязан к IEnumerable<Client>
, возвращенному из контроллера, и он работал нормально:
@(Html.Kendo().DropDownList()
.Name("ddlClient")
.DataTextField("ClientName")
.DataValueField("ClientID")
.DataSource(source => {
source.Read(read => {
read.Action("GetClient", "Home");
});
})
)
Но после реструктуризации некоторого кода я захотел иметь возможность вернуть IEnumerable<ClientViewModel>
из контроллера, где ClientViewModel
будет:
public class ClientViewModel{
public Client SelectedClient {get; set;}
public ClientDivison SelectedClientDivision {get; set;}
public SomeOtherProperty TheSomeOtherProperty {get; set;}
//etc
}
Я изменил раскрывающийся список следующим образом, но он не работает должным образом. Я проверил, что вызов контроллера все еще выполняется и все еще возвращает записи в порядке (типа ClientViewModel
).
Вот модифицированный код DropDownList
@(Html.Kendo().DropDownList()
.Name("ddlClient")
.DataTextField("SelectedClient.ClientName")
.DataValueField("SelectedClient.ClientID")
.DataSource(source => {
source.Read(read => {
read.Action("GetClient", "Home");
});
})
)
Также обратите внимание, что я не могу связать это с основной моделью, определенной для самого представления, поскольку это вообще другая модель, это автономный выпадающий список.
Мне кажется, что я уже ссылался на вложенные свойства, подобные этим.
Что я тут не так понял?