//自刷新的无刷新页面
1
using
System;
2
using
System.Web.UI;
3
4
5
public
partial
class
Print_SelfFreshDemo : Page, ICallbackEventHandler
6
{
7
private string returnValue = null;
8
private const string m_ClientScript =
9
"<script>function ReceiveServerData(arg){document.all['xx'].innerHTML=arg;}"
10
+ " function fun(){CallTheServer('argment');setTimeout('fun()',1000);} window.onload=fun;</script>";
11
12
protected void Page_Load(object sender, EventArgs e)
13
{
14
ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientScript", m_ClientScript);
15
string CallbackEventReference = ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", null);
16
string CallbackScript = "function CallTheServer(arg){" + CallbackEventReference + ";}";
17
ClientScript.RegisterClientScriptBlock(this.GetType(), "CallTheServer", CallbackScript, true);
18
}
19
20
21
public void RaiseCallbackEvent(string eventArgument)
22
{
23
returnValue = DateTime.Now.ToString();
24
}
25
26
public string GetCallbackResult()
27
{
28
return returnValue;
29
}
30
}
using
System;2
using
System.Web.UI;3

4

5
public
partial
class
Print_SelfFreshDemo : Page, ICallbackEventHandler6

{7
private string returnValue = null;8
private const string m_ClientScript =9
"<script>function ReceiveServerData(arg){document.all['xx'].innerHTML=arg;}"10
+ " function fun(){CallTheServer('argment');setTimeout('fun()',1000);} window.onload=fun;</script>";11
12
protected void Page_Load(object sender, EventArgs e)13

{14
ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientScript", m_ClientScript);15
string CallbackEventReference = ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", null);16
string CallbackScript = "function CallTheServer(arg){" + CallbackEventReference + ";}";17
ClientScript.RegisterClientScriptBlock(this.GetType(), "CallTheServer", CallbackScript, true);18
}19

20

21
public void RaiseCallbackEvent(string eventArgument)22

{23
returnValue = DateTime.Now.ToString();24
}25

26
public string GetCallbackResult()27

{28
return returnValue;29
}30
}
//获得上次执行的方法
1
System.Diagnostics.StackFrame sf
=
new
System.Diagnostics.StackFrame(
1
);
2
System.Reflection.MethodBase mb
=
sf.GetMethod();
3
string
strMethodName
=
String.Format(
"
{0}.{1}
"
, mb.ReflectedType.ToString(), mb.Name);
System.Diagnostics.StackFrame sf
=
new
System.Diagnostics.StackFrame(
1
);2
System.Reflection.MethodBase mb
=
sf.GetMethod();3
string
strMethodName
=
String.Format(
"
{0}.{1}
"
, mb.ReflectedType.ToString(), mb.Name);
本文介绍了一种使用ASP.NET AJAX实现的自刷新无刷新页面技术。通过客户端定时调用服务器端方法更新页面内容,实现了页面的部分内容定时刷新而无需重新加载整个页面。此方案利用了回调事件处理机制。
865

被折叠的 条评论
为什么被折叠?



