2016-02-04 4 views
1

Когда я использую Ajax.Utility.RegisterTypeForAjax, я получаю Error. Сообщение об ошибке говорит: Ошибка Обработка функции обратного вызова. Завершение обновления. Ошибка: «MyAjaxClass» не определен. Мой код выглядит следующим образом:Ajax.Utility.RegisterTypeForAjax не регистрирует ajax-тип

public class MyAjaxClass 
{ 
    Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite 
    public string SaveData (int count) 
    { 
     return something; 
    } 

} 
public partial class webaccess: Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Ajax.Utility.RegisterTypeForAjax(typeof(MyAjaxClass)); 
    } 
} 

I added below config handlers in web.config. 
<system.webServer>  
    <validation validateIntegratedModeConfiguration="false" /> 
     <modules> 
     <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </modules> 
     <handlers> 
     <remove name="WebServiceHandlerFactory-Integrated" /> 
     <add verb="POST,GET" name="Ajax" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> 
     <add name="ScriptHandlerFactory" verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     </handlers> 
    </system.webServer> 

Пожалуйста, дайте мне знать, что еще я могу сделать.

+0

Где вы определили свой 'MyAjaxClass' класс ?? – Navy

+0

общественного класса MyAjaxClass { Ajax.AjaxMethod (Ajax.HttpSessionStateRequirement.ReadWrite] публичная строка SaveData (число целое) { возвращение что-то, } } – Lucky26

ответ

0

Определите ваш MyAjaxClass внутри public partial class webaccess: Page ваш код должен выглядеть следующим образом

public partial class webaccess : Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    Ajax.Utility.RegisterTypeForAjax(typeof(MyAjaxClass)); 
} 
public class MyAjaxClass 
{ 
    { Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite] public string SaveData (int count) { return something; } } 
} 
} 
Смежные вопросы