ajax客户端脚本

hdqqq 2007-05-30 01:11:43
我想用ajaxpro做一个异步查询,但是我在服务端的类是封装在自己的一个子命名空间的.也就是说有三层的命名空间,而服务端类在最里面,现在页面返回
的ashx很长

/ajaxpro/good_tracker.WebPage.WayBill_InputB,good_tracker.ashx

在写客户端脚本的时候,老是提示 WayBill_InputB不存在,我想知道ajax是不是不支持在命名空间中的类的封装,因为我看网上的例子都没有命名空间的.

如果支持命名空间的话,客户端脚本该如何写?

...全文
700 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
我该做的都做了,不过我用的是vb.net,而例子都是csharp的.
babyrockxray 2007-05-30
  • 打赏
  • 举报
回复
就只要这几个步骤就可以:
1 web config加上
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
</httpHandlers>
2 项目引用ajaxpro.dll
3 pageload里面写AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));


hdqqq 2007-05-30
  • 打赏
  • 举报
回复
那注册一个ajax处理类,是不是还要在其他方面注册,而不仅仅是web.config和page_load这两个地方.
babyrockxray 2007-05-30
  • 打赏
  • 举报
回复
对的 javascript根本没有生成,所以会出现这错误
还没有遇到过这问题
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
我用的是AjaxPro.dll,版本是7.4.24.1,昨天晚上在网上下的最新的版本.
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
我试了一下,出现了异常

“/good_tracker”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
AjaxPro.TypeJavaScriptProvider.GetClientMethodName(MethodInfo method) +19
AjaxPro.TypeJavaScriptProvider.RenderMethods(MethodInfo[] methods) +49
AjaxPro.TypeJavaScriptHandler.ProcessRequest(HttpContext context) +2782
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() +179
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +87


是不是这个问题,导致javascript根本没有生成?
babyrockxray 2007-05-30
  • 打赏
  • 举报
回复
在ie上打开good_tracker/ajaxpro/good_tracker.WebPage.WayBill_InputB,good_tracker.ashx这个url,看看它的源码
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
加上namespace一样,还是说good_tracker未定义
babyrockxray 2007-05-30
  • 打赏
  • 举报
回复
加上namespace调用
good_tracker.WebPage.WayBill_InputB.GetCity("shanghai",getdata);
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
关键是不知道ajaxpro.net把带命名空间的类,生成客户端的javascript代理的变量名称是什么.生成的ashx脚本太长了.
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
我在web.config中加了这个

<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
</httpHandlers>

page_load的时候加了类注册的语句
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AjaxPro.Utility.RegisterTypeForAjax(GetType(WayBill_InputB))

End Sub
注册的函数
<AjaxPro.AjaxMethod()> _
Public Function GetCity(ByVal help_code As String) As String
System.Diagnostics.Trace.WriteLine(help_code)
Dim ret As String
ret = "北京"
Return ret

End Function

这个页面的类是WayBill_InputB, namespace 为WebPage,工程是good_tracker

客户端的脚本是这样写的
function doTest()
{
WayBill_InputB.GetCity("shanghai",getdata);
}

function getdata(rv)
{
alert(rv.value);
}


function js_on_date_textbox_focus(id) {
var ctrl;
var date = new Date();
var date_str = date.getYear() + "-";
date_str += date.getMonth()+1 + "-"
date_str += date.getDate();

ctrl = document.all(id);
if (ctrl != null) {
ctrl.value = date_str;
ctrl.select();
}
doTest();
}

结果在客户端调用的时候,老是报告 WayBill_InputB 未定义
查看页面的源文件,有个javascript的src是

src="/good_tracker/ajaxpro/good_tracker.WebPage.WayBill_InputB,good_tracker.ashx"



net_lhb 2007-05-30
  • 打赏
  • 举报
回复
up
babyrockxray 2007-05-30
  • 打赏
  • 举报
回复
而且最好贴点关键代码上来
linsoo 2007-05-30
  • 打赏
  • 举报
回复
同楼上问
babyrockxray 2007-05-30
  • 打赏
  • 举报
回复
这个url没有问题,
ajaxpro可以用namespace
你具体错误是什么
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
有谁用国ajaxpro.net,恳请指点,我分有的是,不够再加.
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
我是按照网上说的,修改了web.config和在page_load的时候进行了注册.

但是web页上返回的script的src就是这样的.

qileroro 2007-05-30
  • 打赏
  • 举报
回复
/ajaxpro/good_tracker.WebPage.WayBill_InputB,good_tracker.ashx
-------------------
这不是一个正确的URL,因为逗号是特殊字符,JS里面的使用encodeURI()或encodeURIComponent() 方法处理的
hdqqq 2007-05-30
  • 打赏
  • 举报
回复
问题解决了,是ajaxpro版本的问题,7.4的是beta,有问题,我下了个6.10的就好了.

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧