这是ajax.net作者做的onLoading demo。下载他的代码来看,有几点疑问:
1,如果一个aspx页面没有后置代码cs类文件,或者在vs2005中没有给他手动加上名字空间,那么aspx的默认的名字空间是什么呢?难道是ASP??我想大家可能都没有注意到这个问题吧。请教吴旗娃师傅,他立即Response.Write(this.GetType().ToString())告诉我了结果,千真万确是ASP;
2,如果一个类中包含了Ajax.Net方法,那么是不是从客户端调用这个类方法的时候是不是会发生个这个类的onLoading事件?而且调用开始的时候他是不是会返回个bool类型的值true给这个事件呢?调用结束再返回个false给这个onLoading事件呢?
如果我的分析正确那么作者的代码就很好理解了,后面将附上作者的代码,就一个aspx文件,但是如果我的理解不正确又应该怎么样理解呢?
3,在Ajax.Net的google网上论坛就这事情发了下帖子,当然我是用C文发的,地址是:http://groups.google.com/group/ajaxpro?lnk=li,因为我E文太菜,借助与翻译工具稍微能够看懂有些E文文章,但是用E文发帖还是没有那个能耐,我的在google的ajax.net论坛发的帖子有10条回复,全部都是外国姥回的,我猜想我可能被嬉笑了下,为什么就没有一个国人参与注册到这个论坛呢?如果大家没有gmail的邀请函,请告诉我,我发给 大家!!
作者的onloading.aspx代码如下:作者的演示地址:
http://www.schwarz-interactive.de/Examples/Special/onloading.aspx
<%@ Page language="c#" ClassName="LoadingDemo" Inherits="System.Web.UI.Page" %>
<script runat="server" language="c#">

private void Page_Load(object sender, EventArgs e)
{
    AjaxPro.Utility.RegisterTypeForAjax(typeof(LoadingDemo));
}

[AjaxPro.AjaxMethod]
public DateTime LongOperation()
{
    System.Threading.Thread.Sleep(2000);
    return DateTime.Now;
}


</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>Ajax.NET - OnLoading Example</title>
    <link rel="stylesheet" type="text/css" href="../../css/main.css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  </head>
  <body>
 
<form id="Form1" method="post" runat="server"></form>

<div class="content">

<h1>OnLoading Examples</h1>

<p>Click <a href="javascript:doTest1();void(0);">here</a> to start a long operating method (2 seconds). After you have clicked on the link you should see a <i>Loading...</i> message in the upper left corner.</p>

</div>

<div id="loadinfo" style="visibility:hidden;position:absolute;left:0px;top:0px;background-color:Red;color:White;">Loading...</div>

<p class="footer">Last updated: November 2, 2005 by <a href="http://weblogs.asp.net/mschwarz/contact.aspx" target="_blank">Michael Schwarz</a></p>
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a></p>

<script type="text/javascript" defer="defer">

ASP.LoadingDemo.onLoading = function(b) {
    var l = document.getElementById("loadinfo");
    l.style.visibility = b ? "visible" : "hidden";
}

function doTest1() {
    ASP.LoadingDemo.LongOperation(doTest1_callback);
}

function doTest1_callback(res) {
    alert(res.value);
}

</script>
  </body>
</html>