2014-01-20 2 views
3

Я вызываю метод web api.Параметр querystring традиционного Javascript в C#

метод

API:

//get 
public bool GetShoppingElementDetails(ElementSearchParameter elementSearchParameter) 
{ 

} 

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

На самом деле этот метод является методом прибудет, так как я могу передать multidimention параметра массива для этой функции,

Я думал, как, рамки JQuery является преобразованием полного объекта в правильную последовательность с использованием «традиционный = истинный», чтобы контроллер 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

Я думаю, что вы хотели бы знать, как передать несколько идентификаторов на строку запроса и их решить как IEnumerable?

Я думаю, что единственный способ сделать это - использовать пользовательский ModelBinder. Вы можете найти пример для чего-то подобного How to pass an array of integers to ASP.NET Web API?

Тогда - как указано в приведенной выше ссылке - вы можете сказать:/Категории? Categoryids = 1,2,3,4 и ASP.NET Web API будут правильно связывать ваш массив категорийIls ,

+0

Спасибо, я хочу передать коллекцию сложного объекта, Не коллекция int, string и т. Д. – sathishkumar

+0

Привет, то же самое, кроме того, что вам нужен способ сериализации их в строковый формат, затем используйте модель для перебора вашего объекта –

Смежные вопросы