Мой класс ViewModel имеет свойство, которое содержит объект ShareClass
. ShareClass
имеет свойство под названием Id
.
В настоящее время я передаю ShareClass id
в метод действия следующим образом:
public ActionResult ListedFactsheet(int shareClassId)
{
}
Я бы хотел использовать ShareClassViewModel
, вместо того, чтобы передавать int
, как показано ниже:
public ActionResult ListedFactsheet(ShareClassViewModel scv)
{
// I'd like to be able to do something like: svc.ShareClass.Id;
}
где мой ShareClassViewModel
определяется как:
public class ShareClassViewModel
{
public ShareClass ShareClass { get; set; }
}
и ShareClass
определяется как:
public class ShareClass
{
public virtual int Id { get; set; }
}
Моя текущая конфигурация маршрута настроена как:
routes.MapRoute(
null,
"listedfactsheet/{shareClassId}",
new { controller = "shareclass", action = "ListedFactsheet", shareClassId = -1 }
);
Мне нужно как-то изменить это? Есть ли какой-либо другой способ привязки связывателя модели к свойствам в свойствах модели представления?
Я попытался изменить маршрут так, чтобы вместо shareClassId
он стал shareClass_Id
в надежде, что ModelBinder узнает, что ему нужно найти объект ShareClass для привязки Id, но это не работа.