2010-08-17 78 views
2

我有以下控制器:如何在ASP.NET MVC中獲取未知數量的POST參數?

class FooController : Controller 
{ 
    public ActionResult SomeAction(id) 
    { 
    Type t = Type.GetType(id); 
    object o = Activator.CreateInstance(t); 
    ((MyModel)o).ParseParamaters(PostParameters); // I need to pass the post parameters here 
    //... 
    } 
} 

我想取回已提交了所有的POST參數。
怎麼辦?

回答

2

你做到這一點與

[HttpPost] 
public ActionResult SomeAction(id, FormCollection form) 
{ 
    //do what you want with the collection 
} 
+0

無法找到HttpPost屬性。這是爲MVC 2. 我使用1.1 – 2010-08-17 13:29:47

+1

我改變了屬性AcceptVerbs(HttpVerbs.Post)],它的工作。謝謝。 – 2010-08-17 13:39:52

1

我相信是的Request.QueryString是字符串的集合,所以你可以把它作爲一個參數ParseParameters。或者你可以傳遞整個Request對象。

但是我想知道爲什麼你想要,當有完美的模型綁定內置到MVC做你所有的重擔。 http://weblogs.asp.net/nmarun/archive/2010/02/25/asp-net-mvc-model-binding.aspx

+1

因爲我無法分辨正在創建哪種類型。 – 2010-08-17 13:23:24