Первый раз,
Я играл с MVC abit ... У меня есть представление с несколькими полями ввода, некоторые из этих полей могут быть пустыми в сообщении.
Метод действия внутри контроллера для поста выглядит примерно так
public ActionResult Filter(int? id, string firstName, string lastName, bool? isMember)
Я использовал расширение DynamicQuery, которое использовалось для выполнения динамических запросов Linq в моей базе данных, и я инкапсулировал это в объект поиска, который передается на уровень доступа к данным для исполнения.
Однако у меня также есть настроенный объект ViewData, который передается обратно в представление для отображения входных значений и результатов запроса.
Все это выглядит немного неприятно в коде, поскольку мне приходится устанавливать как свойства объекта поиска, так и ViewDatas.
public ActionResult Filter(int? id, string firstName, string lastName, bool? isMember) {
var search = new Search {
Id = id,
FirstName = firstName,
LastName = lastName,
Member = isMember
};
var memberViewData = new MemberViewData {
Id = id,
FirstName = firstName,
LastName = lastName,
Member = isMember
};
memberViewData.Results = _dataRepository.GetMember(search);
return View("Search", memberViewData);
}
Я слишком обдумал это и действительно должен просто передать значения в слой доступа к данным и заполнить ViewData в контроллере, или я мог бы использовать гораздо более элегантный шаблон или практику?
Извините, если это кажется дампом, не позволяйте людям отбрасывать идеи и время копаться в структуре.