В вашем файле web.config должен быть настроен ScriptModule
для вызова методов статической страницы.Если вы выполняете проект ASP.NET 3.5 в Visual Studio с использованием встроенного веб-сервера разработки, убедитесь, что он находится в вашем файле web.config, внутри system.web / httpModules :
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Если вы используете IIS, убедитесь, что это в вашем файле web.config, внутри system.webServer / httpModules :
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Если у вас нет правВ конфигурации, как правило, сообщение в Search.aspx / Submit просто возвращает всю страницу, и в этом случае ваш веб-метод даже не будет вызываться.Роль ScriptModule
состоит в том, чтобы отобразить этот запрос в веб-метод и вернуть его возвращаемое значение в качестве ответа.
Если это не работает (у вас уже есть правильная конфигурация), тогдапопробуйте установить для вашего contentType запроса значение application/json
и, возможно, также изменить способ передачи параметра запроса в веб-метод (также в формате JSON):
data: { "query": dataString },
contentType: "application/json; charset=utf-8",
dataType: "json",
См. также следующие похожие вопросы: