&シンボルは、oDataの次のクエリでどのように処理されますか?oDataクエリで特殊文字はどのように処理されますか?
/vendordataservice.svc/vDataMapper_SourceMapVendor?&$filter=startswith(ParentName,'AT&T')&$top=7&$skip=0
私はEF3.5とSQL2008を使用しています。そのデータをoDataサービスに送信すると、データは返されません。ここで
&シンボルは、oDataの次のクエリでどのように処理されますか?oDataクエリで特殊文字はどのように処理されますか?
/vendordataservice.svc/vDataMapper_SourceMapVendor?&$filter=startswith(ParentName,'AT&T')&$top=7&$skip=0
私はEF3.5とSQL2008を使用しています。そのデータをoDataサービスに送信すると、データは返されません。ここで
は、HTTP経由でSQLサーバーに送信する前にエンコードされなければならない文字のリストです:
http://msdn.microsoft.com/en-us/library/aa226544(SQL.80).aspx
はい、「&」記号は、そのうちの一つです。
「JavaScript String replace()メソッド」は使用しないでください。これは、特殊文字の最初の出現を置き換えます。フィルタリングパラメータで同じ特殊文字が2回出現した場合、失敗します。正規表現を使用して文字を置き換えます。
function replaceSpecialCharacters(attribute) {
// replace the single quotes
attribute = attribute.replace(/'/g, "''");
attribute = attribute.replace(/%/g, "%25");
attribute = attribute.replace(/\+/g, "%2B");
attribute = attribute.replace(/\//g, "%2F");
attribute = attribute.replace(/\?/g, "%3F");
attribute = attribute.replace(/#/g, "%23");
attribute = attribute.replace(/&/g, "%26");
return attribute;
}
またそれは自己が初め
で交換する必要があります
%
置換はまた、その後%
が含まれているため、注意を払うあなたはこの自分を生産していますか?あなたはそれをエンコードするべきではありませんか? –@Craig - そのGET文字列は、フィルタが適用されたときに私のTelerikコントロールによって作成されます。彼らはそれをエンコードすべきでしょうか?私は確信していませんが、おそらく。他にどのような文字をエンコードする必要がありますか? HTMLでエンコードされているはずですか? – LamonteCristo
'&'文字はURIごとにRFCごとに予約されています。はい、エンコードする必要があります。 –