Как мне получить свойства в моем BLL, переданном в ModeView. Например, у меня есть этот класс в отдельных библиотеках классов:MVC2 ViewModel Binding
[MetadataType(typeof(PersonMetaData))]
public partial class Person
{
[Bind(Include = "PersonId,DepartmentId,FirstName,LastName,Active,DateAdded,DateDeleted")]
public class PersonMetaData
{
public object PersonId { get; set; }
public object DepartmentId { get; set; }
public object FirstName { get; set; }
public object LastName { get; set; }
public Department PersonDepartment { get; set; }
public string FullName()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
}
Моего ViewModel выглядит следующим образом:
public class PersonViewModel
{
public int PersonId { get; set; }
public string FullName{ get; set; }
public string PersonDepartment { get; set; }
}
Когда я создать новый «вид» сильно типизированный к PersonViewModel и установить в качестве «Список» Просмотр содержимого .... страница сгенерирована, но FullName не проходит.
Я создал свойство PersonDepartment, потому что я хочу отобразить имя отдела, в котором находится человек. У меня есть класс отдела, настроенный аналогичным образом. Например, я хочу иметь возможность сделать что-то вроде «PersonDepartment.DepartmentName», которое отображает название отдела на странице.
Я использую DBML (Linq To SQL), поэтому частичные классы расширяются из автоматически сгенерированных классов.
Я не уверен, как получить заполненную недвижимость FullName и передать в ViewModel и получить свойства Департамента, связанные с передаваемой информацией Лица. Любая помощь будет принята с благодарностью.
Я предполагаю, конечно, что вы заполняете модель представления, прежде чем передавать ее на представление, да? – joshlrogers
Извините - да. ViewModel заполняется с использованием библиотеки AutoMapper. Картирование работает, потому что свойство PersonId фактически проходит. – obautista