我在一个视图页上有一个简单的表单,实现为用户控件,大致如下:
<%=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"呈现到页面上。我该如何让它消失?