我使用jqGrid
向用户显示一些数据。需要的功能之一是用户能够搜索网格。我正在使用WCF数据服务来获取此数据并返回它。
当我第一次开始jqGrid开发时,我只需要分页(不需要搜索),并且能够成功地使用以下方法:
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public String GetStuff(int? page, int? rows)
{
// pagination going on in here
}
然后我需要搜索,所以我添加了string
类型的参数,如下所示:
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public String GetStuff(int? page, int? rows, string search)
{
// more stuff going on in here
}
,然后我得到一个400 Bad Request
错误。我认为这是因为搜索参数,我只是不明白为什么int
工作(甚至bool
工作),但string
没有。这与WCF数据服务是RESTful的这一事实有关系吗?
我当然仔细检查了jqGrid发送的查询字符串(通过ajax),它与参数名匹配。jqGrid发送的一些额外的查询字符串参数没有被使用(忽略它们在我的原始分页代码中工作得很好)
查询URL中的字符串必须用单引号括起来。因此,上面的服务操作将被这样调用:页面/GetStuff ? = 1,行= 10,搜索="约翰"您的查询字符串看起来像这样吗?