У меня есть простая форма на странице просмотра, реализованная в виде пользовательского элемента управления, которая выглядит примерно так:
<%=Html.BeginForm("List", "Building", FormMethod.Post) %>
//several fields go here
<%Html.EndForm(); %>
Есть две проблемы, которые я хотел бы решить, во-первых, я хотел бы, чтобы метод контроллера, который получает это, принял параметр типа пользовательского элемента управления. Цель состоит в том, чтобы не помещать все поля формы в список параметров для метода. Метод контроллера в настоящее время выглядит следующим образом:
[AcceptVerbs("Post")]
public ActionResult List(string capacityAmount)
{
ProfilerDataDataContext context = new ProfilerDataDataContext();
IEnumerable<Building> result = context.Buildings.OrderBy(p => p.SchoolName);
ViewData["Boroughs"] = new SelectList(Boroughs.BoroughsDropDown());
return View(result);
}
Остальные поля в форме будут использоваться для поиска по типу зданий.
Форма отправляет отлично, я могу искать по вместимости так, как вы ожидаете, но я чувствую запах уродства, когда добавляю параметры к поиску.
Во-вторых, меньшая проблема заключается в том, что при отображении страницы тег BeginForm отображает на странице строку «System.Web.Mvc.Form». Как я могу заставить это уйти?