Я всегда использую EditorTemplates, когда данные отправляются обратно на сервер. Я предполагаю, что пользователь может отправить фильтр на сервер для выполнения фактической фильтрации.
При создании фильтров я предпочитаю создавать модель для фильтра, например:
public class UserListFilterModel
{
public string Username { get; set; }
public bool IsEnabled { get; set; }
}
Представление для UserListFilterModel переходит в EditorTemplates / UserListFilterModel.ascx.
А затем добавьте его в качестве свойства в мою модель представления для страницы.
public class MyPageViewModel
{
public UserListFilterModel Filter { get; set; }
}
Затем я добавляю модель фильтра в модель для страницы и отображаю ее так:
<%= Html.EditorFor(x => x.Filter)%>
Вы, вероятно, оборачиваете фильтр в форму, чтобы позволить пользователю отправлять значения, поэтому я думаю, что он принадлежит EditorTemplates. Пользователи фактически редактируют модель фильтра.
(Если вы действительно хотите разделить их, вы можете использовать UIHintAttribute , но я бы не стал)
Редактировать: я добавил пример кода.