asp.net 2.0 フレームワークを使用すると、このエラーが発生します。オンラインで検索しましたが、答えが見つかりませんでした。以下、説明です。
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
上記は、Web.config の構成セクションです。属性を使用し[AjaxMethod(HttpSessionStateRequirement.ReadWrite)]
て、サーバー側で ajax メソッドを定義します。メソッドは次のとおりpublic virtual AjaxResult Add(string[] values, string[] valueParameters, int editMode)
です。値の1 つstring
にstring[]
\, または ,\ が含まれている場合は失敗し、サーバーが取得したパラメーターは ',' で 2 つの部分に分割され、'H\,H' の場合は 'H\' になりました。と ''、'H,\H' なら '' と '\H' になりました。メッセージは次のとおりです。
"{'IsValid':false,'Values':[],'Message':'インデックスが配列の範囲外でした.','UnformattedMessage':null,'Type':6}"
私はそれをデバッグしました.Ajaxフレームワークは、正規表現によって入力文字列をJsonに変換します'"' + o.replace(/(["\\])/g, '\\$1') + '"'
. 例えば、
"DSF\,DF"
に翻訳されます
"DSF\\,DF"
問題ないと思いますが、asp.net フレームワークが正しく認識できません。
私を助けてください。