2011-08-10 2 views
0

일부 데이터를 사용자에게 표시하는 데 jqGrid을 사용하고 있습니다. 필요한 기능 중 하나는 사용자가 그리드를 검색 할 수 있어야한다는 것입니다. 이 데이터를 가져 와서 반환하려면 WCF 데이터 서비스를 사용하고 있습니다. 내가 처음 난 그냥 필요 매김 (더 검색이 필요 없음)있는 jqGrid 개발을 시작하고 성공적으로 다음과 같은 방법을 사용할 수있을 때WCF 데이터 서비스가 내 쿼리 문자열을 허용하지 않는 이유는 무엇입니까?

: 나는 검색을 필요로 그 다음

[WebGet(ResponseFormat = WebMessageFormat.Json)] 
public String GetStuff(int? page, int? rows) 
{ 
    // pagination going on in here 
} 

을 그래서 내가 좋아하는 타입 string의 PARAM 추가 그래서 :

[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를 통해) 보내는 쿼리 문자열을 확인하고 param 이름과 일치하는지 확인합니다. jqGrid가 사용하지 않는 일부 추가 쿼리 문자열 매개 변수가 있습니다 (무시하면 원래의 페이지 매김 코드와 함께 잘 작동합니다)

답변

1

쿼리 URL의 문자열 리터럴은 작은 따옴표로 묶어야합니다. 따라서 위의 서비스 작업은 다음과 같이 호출됩니다. /GetStuff? page = 1 & rows = 10 & search = 'John' 쿼리 문자열이 어떻게 생겼습니까?

+0

아니요. 나는 작은 따옴표를 추가했고, 지금 작동한다, 고마워! – Darcy

관련 문제