首先,您将通过查询参数获取传递给具有[AcceptVerbs(HttpVerbs.Get)]属性的方法的参数的唯一方法。例如:
http://localhost/Task/Index/?task=mytask&todolist=a,b,c,d
你们中许多复杂的参数请参阅该操作方法是通过邮寄调用,将最LIKEY成为候选人的[AcceptVerbs(HttpVerbs.Post)。
创建下面的示例方法:
public ActionResult Index(int id, FormCollection form)
{
}
如果你在哪里检查表格收集你可能有一些像后窗体发布以下内容:在这种情况下asp.net
form["name"] = "bob"
form["city"] = "LA"
form["state"] = "CA"
form["zip"] = "90210"
mvc简单地解析了表单值并将它们抛入表单集合对象中。当然,现在您必须手动提取每个参数才能访问这些值。如果有asp.net mvc可以为你处理这个过程的方法,这不是很好吗?如果你有以下类:
public class User
{
string string Name {get; set;}
string string City {get; set;}
string string State {get; set;}
string string Zip {get; set;}
}
,并补充说,以你的操作方法
public ActionResult Index(int id, User user)
asp.net的MVC将使用反射来的用户参数调用这样就把你的动作方法之前。实际上,它正在执行以下操作,对于表单集合中的每个键,它都使用反射来定位该属性,并在action方法中声明参数列表。如果它发现与它匹配的属性将尝试设置它的值。
user.Name = form["name"]
user.City = form["city"]
user.State = form["state"]
user.Zip = int.Parse(form["zip"])
然而,id的值会从相对于形式收集的路由值来设定。