我试图检索具有特定项目详细信息的数据。所以我需要在GET方法中使用ajax调用传递特定的项ID。请找到我尝试过的以下代码,
C#:
[HttpGet]
[Route("matter")]
public List<MatterLookup> LookupValuesForMatter(ClientDetails data)
{
}
public class ClientDetails
{
public string ClientId { get; set; }
}
的Ajax:
var clientId = $("#client").val();
var data =
{
clientId: clientId,
}
$.ajax({
type: "GET",
url: "matter",
data: data,
success: function (response) {
if (response != null) {
}
}
});
当我尝试传递参数时,收到null而不是特定的列表ID。实际上我已经完成了POST方法,但我需要使用GET方法。
如果您有任何想法,请建议
感谢。
答案 0 :(得分:2)
默认情况下,web-api绑定来自正文的复杂对象。由于您进行了GET,并且没有正文,因此您需要添加[FromUri]
属性,以便从查询字符串值绑定模型的属性。
[HttpGet]
[Route("matter")]
public List<MatterLookup> LookupValuesForMatter([FromUri]ClientDetails data)
或者,为您在请求中传递的每个名称/值对添加一个参数
[HttpGet]
[Route("matter")]
public List<MatterLookup> LookupValuesForMatter(string clientId, .... ) // add simple type parameters as required