首先,您將通過查詢參數獲取傳遞給具有[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的值會從相對於形式收集的路由值來設定。