Code
protected void Page_Load(object sender, EventArgs e)
{
String cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context");
String callbackScript = "function page(arg,context)" +
"{ " + cbReference + "} ;";
Page.ClientScript.RegisterStartupScript(this.GetType(), "abcdefg", callbackScript, true);
//第四个参数代表是不是要自动给着脚本加上<script type="text/javascript"></script>标记,当然要加啊
}
private string SelectValue;
public void RaiseCallbackEvent(string eventArgument)
{
// ICallbackEventHandler接口 要实现的方法
// 处理以控件为目标的回调事件。
// 参数:
// eventArgument:
// 一个字符串,表示要传递到事件处理程序的事件参数。
SelectValue = eventArgument;
}
public string GetCallbackResult()
{
// ICallbackEventHandler接口 要实现的方法
// 返回以控件为目标的回调事件的结果。
//
// 返回结果:
// 回调的结果。
string result="";
string[] str ;
string path = Server.MapPath("XMLFile.xml");
XmlDocument xd = new XmlDocument();
xd.Load(path);
XmlNode node1 = xd["title"];
str = node1.InnerXml.Split (',') ;
int pager = int.Parse(SelectValue);
for (int i = 10*(pager-1); i < ((10 * pager)>str.Length ?str.Length :(10*pager )); i++)
{
result += "<span>" + str[i] + "</span><br />";
}
result += "||";
int pageNum = (str.Length % 10 == 0) ? str.Length / 10 : (str.Length / 10 + 1);
for (int j = 1; j <= pageNum; j++)
{
result += "<a href =\"#\" onclick =page("+j+",\"\")>"+j+"</a>";
}
return result;
}
前台代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function ReceiveServerData(rValue)
{
var result=rValue.split ('||')
divShow.innerHTML = result[0];
divpage.innerHTML = result[1];
}
</script>
</head>
<body onload ="page('1','')" >
<form id="form1" runat="server" >
<div>
<div id="divShow">
</div>
<div id="divpage">
</div>
</div>
</form>
</body>
</html>