Помощь в создании представления и обновлении модели объекта - PullRequest
0 голосов
/ 13 марта 2011

РЕДАКТИРОВАТЬ: Этот вопрос является расплывчатым и, вероятно, будет бесполезным для всех.Я награждаю интернет-деньги джентльмену, который «помог» мне.

Извините, что название немного расплывчато.Я все еще новичок в asp mvc & EF.Вот моя проблема.У меня есть БД, похожая на эту.

Employee
 - ID
 - Name
 - Address

EmployeeJob
 - EmployeeID
 - JobID
 - StartDate

JobTypes
  - ID
  - JobName

Я хочу создать форму, которая покажет все поля Employee, а также список JobTypes, чтобы пользователи могли выбирать.Затем я отправлю результаты обратно в контроллер и обновлю БД.Я начал изучать пользовательские модели представления, но все еще не уверен, как именно это собрать и заставить работать.Спасибо,

1 Ответ

1 голос
/ 13 марта 2011

Создание определенной модели представления, которая отражает данные, необходимые представлению для отображения интерфейса.В этом случае информация о сотруднике плюс набор рабочих мест представлен текущими отношениями.Добавьте к этому информацию, необходимую для отображения меню заданий - в этом случае я бы использовал перечисление SelectListItems (Value = ID, Text = JobName).

public class EmployeeViewModel
{
    public Employee Employee { get; set; }
    public IEnumerable<string> CurrentJobs { get; set; }
    public int JobType { get; set; } // placeholder for post back value from menu
    public IEnumerable<SelectListItem> JobTypes { get; set; }
}

В зависимости от того, что вы пытаетесьВы хотите другую модель для сообщения.

public class EmployeeJobAddition
{
    public Employee Employee { get; set; }
    public int JobType { get; set; }
}

или (это может привести к другой коллекции для JobTypes в модели представления)

public class EmployeeJobChange
{
    public Employee Employee { get; set; }
    public IEnumerable<int> CurrentJobTypes { get; set; }  // returns values to keep
    public IEnumerable<int> JobTypes { get; set; } // new jobs to add
}

Настройте свою форму с помощьювведите имена, чтобы отразить отправляемую модель, используя данные, предоставленные моделью представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...