最近做一个项目,参照asp.net forums的架构,自定义cs控件,然后绑定ascx文件。但在使用ajaxpro时出现问题,老说我的命名空间未定义,估计是页面文件和cs文件挂不上钩,请问有没有熟悉ajaxpro机制的讲讲应该怎么做。
讲一下我的文件结构。
例如login页面:
先写一个login.cs文件,它继承system.web.ui.webcontrol。
它会加载一个ascx文件,然后通过fincontrol的方式绑定ascx里的控件。
我在login.cs文件的page_load里写了注册ajaxpro的语句,在ascx文件里写js代码。但结果是找不到我在login.cs文件里定义的命名空间。

解决方案 »

  1.   

    那请问怎样在cs文件内部定义页面可执行的javascript
      

  2.   

    先写一个login.cs文件,它继承system.web.ui.webcontrol。
    它会加载一个ascx文件,然后通过fincontrol的方式绑定ascx里的控件。
    我在login.cs文件的page_load里写了注册ajaxpro的语句,在ascx文件里写js代码。但结果是找不到我在login.cs文件里定义的命名空间。
    ===========================
    应该不可以
    RegisterTypeForAjax会在页面生成
    <script language="javascript" src="ajax/common.ashx"></script>
    <script language="javascript" 
               src="ajax/命名空间.页面类,程序集名.ashx"></script>
    而用ascx的page_load 注册会出错
      

  3.   

    try in ascx.cs 
    page_load(....)
    {
    RegisterTypeForAjax( typeof(this.page))
    }
      

  4.   

    没有ascx.cs文件,所有逻辑都放在自定义的cs文件里,这样的话我改怎么办,是不是只要把ajax的文件路径配对了就好了?
      

  5.   

    <httpHandlers>
    <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
    </httpHandlers>
    放在配置文件那里试试看
      

  6.   

    放了,现在不用ajaxpro了,用.net自带的callback机制,虽然功能弱了点,但也能实现无刷新