2011-08-10 8 views
0

私はjqGridを使用してユーザーにデータを表示しています。必要な機能の1つは、ユーザーがグリッドを検索できることです。私はこのデータを取得して返すためにWCFデータサービスを使用しています。私が最初に私ちょうど必要なページネーションjqGridの開発を開始した(何の検索は必要ありません)に成功し、次の方法を使用することができたときWCFデータサービスがクエリ文字列を受け入れないのはなぜですか?

は:

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

をそれから私は、検索を必要なので、私のようなタイプstringのPARAMを追加しましたso:

[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が使用しないいくつかの追加のクエリ文字列パラメータがあります(無視すると、元のページ区切りコードで正常に動作します)

答えて

1

クエリURLの文字列リテラルは、一重引用符で囲む必要があります。したがって、上記のサービス操作は、次のように呼び出されます。 /GetStuff?page = 1 & rows = 10 & search = 'John' クエリ文字列はそのように見えますか?

+0

いいえ、それはしませんでした。私は一重引用符を追加し、それは今、ありがとう! – Darcy

関連する問題