Все, что вы вернули, было единственным параметром, id
. По вашему маршруту и строки запроса, у вас есть четыре параметра:
id
= 1
p
= 5
min
= 10
max
= 20
Но ваши действия контроллера игнорирует три из них:
public string GetAccApi(string id)
Если вы хотите, чтобы эти другие значения строки запроса в вашем действии контроллера, просто добавьте их в качестве параметров метода:
public string GetAccApi(string id, string p, string min, string max)
Как для вывода, что вы хотите увидеть? Все они как одна строка? Вы могли это сделать:
return id + p + min + max
Что бы вернуть это:
{"151020"}
Я сомневаюсь, что это то, что вы хотите. Но вы должны быть более ясными о том, что вы do хотите, чтобы он вернулся. Любая структура будет делать. Например, пользовательский объект:
public SomeObject GetAccApi(string id, string p, string min, string max)
{
return new SomeObject(id, p, min, max);
}
В зависимости от структуры SomeObject
, которые могли бы вернуться, как:
{
"ID":"1",
"P":"5",
"Min":"10",
"Max":"20"
}
который, по меньшей мере, более структурированным. Это зависит от вас, что вы хотите вернуть и в какой структуре оно должно быть организовано.
Спасибо, так что я могу взять его как целую порцию? Как и я, будущий параметр «p = 5 & min = 10 & max = 20» – Melih
@Melih: Ну, вы можете восстановить такую строку: 'return string.Format (" p = {0} & min = {1} & max = {2 } ", p, min, max);' Чтобы использовать фактическую строку, которая была отправлена, я полагаю, вы могли бы получить ее из объекта HttpRequest (http://msdn.microsoft.com/en-us/library/ system.web.httprequest.aspx) в контроллере, но это не рекомендуется, поскольку он плотно соединяет контроллер с контекстом HTTP. – David
Нет, я имею в виду, я хочу взять в качестве целого следующего параметра из ajax-вызова для контроллера api, например «p = 5 & min = 10 & max = 20» – Melih