2014-01-20 41 views
3

我打電話給web api方法。C#中的Javascript傳統查詢字符串參數#

API方法:

//get 
public bool GetShoppingElementDetails(ElementSearchParameter elementSearchParameter) 
{ 

} 

class ElementSearchParameter{ 
    public string name; 
    public list<int> ids; 
} 

其實這種方法是GET方法,那麼,如何可以通過multidimention數組參數給該函數,

我想喜歡,jQuery框架是將完整的對象轉換爲正確的查詢字符串,使用「traditional = true」,以便mvc控制器完美解析。

在C#中我想要做的相同的方式。 類似下面,

ElementSearchParameter toSearch = new ElementSearchParameter{}; 

//convert the tosearch object into string object (parsing like jquery) 
string toSearchString = ... 

    HttpResponseMessage response = httpManager.Client.GetAsync(string.Format(_routePrefixMeta + "/OrderOffering/Elements/search/{1}", programID, toSearchString)).Result; 
      return httpManager.ConstructData<List<OfferElementType>>(response); 
+0

我不是從javascript調用控制器方法,從c#調用。 (WEB-API) – sathishkumar

回答

0

我想你想知道如何通過查詢字符串的多個ID,並讓他們解析爲一個IEnumerable?

我認爲唯一的方法是使用自定義的ModelBinder。你可以找到一個類似的例子:How to pass an array of integers to ASP.NET Web API?

然後 - 正如在上面的鏈接 - 你可以說:/ Categories?categoryids = 1,2,3,4和ASP.NET Web API將正確綁定您的categoryIds數組。

+0

謝謝,我想通過收集複雜的對象,不收集的int,字符串等... – sathishkumar

+0

嗨,同樣的事情,然後除了你需要一種將它們序列化成字符串格式,然後使用模型聯編程序解析出您的對象 –

相關問題