我在视图页面上有一个简单的表单,实现为用户控件,看起来像这样:
<%=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”呈现给页面。我怎样才能让它消失?