У меня есть страница, на которой пользователю предлагаются четыре . Я предполагаю взять пересечение полей и показать результаты. Однако пользователю не требуется заполнять все поля.Поиск в MVC application
В моем контроллере у меня есть следующий код.
string subject = (string)Session[d.sessionSearchSubject];
string courseNumber = (string)Session[d.sessionSearchCourseNum];
string yearLev = (string)Session[d.sessionSearchYearLev];
string period = (string)Session[d.sessionSearchPer];
if (!(subject.Equals("") && courseNumber.Equals("") && yearLev.Equals("") && period.Equals("")))
{
db.Courses.Where(a => a.subject.Equals(subject) && a.coursenumber.Equals(courseNumber) && a.period.Equals(period...
}
else if (!(subject.Equals("") && courseNumber.Equals("") && yearLev.Equals("")))
{
// Query the database.
}
else if (!(subject.Equals("") && courseNumber.Equals("") && period.Equals("")))
{
// Query the database.
}
else if (!(subject.Equals("") && yearLev.Equals("") && period.Equals("")))
...
Как вы можете видеть, будет много утверждений if. Мне было интересно, есть ли лучший способ сделать это? т.е. один запрос, который игнорирует поле, если оно пустое. Или, если я могу заменить пустую строку чем-то, что было бы эквивалентно «любому» ???
+1 для тонкого контроллера Fat Model :) – mattytommo