您的位置:首页 > 编程语言 > ASP

Asp.Net2.0无刷新客户端回调----根据参数,得到返回结果

2008-12-09 10:13 513 查看
前途代码:

<!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 test(con)

{

//得到你选择的下拉框的文本再调用呢个CallTheServer,是一个由服务器端输出的js函数

CallTheServer(con,''); //此方法由 后台生成到前台来

}

function ReceiveServerData(rValue)

{

Results.innerHTML = rValue;

//在<span id="Results"></span>添加由后台生成的方法 CallTheServer(con,'');

}

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

<br />

<br />

<input onclick="test('yue')" value="从服务器返回下拉框文本" type='button'/> <br />

<br />

<span id="Results"></span>

<br />

</div>

</form>

</body>

</html>

后台代码:

public partial class Default2 : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler

{

protected void Page_Load(object sender, EventArgs e)

{

String cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context");

String callbackScript;

callbackScript = "function CallTheServer(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 str="";

string path = Server.MapPath("XMLFile.xml");

XmlDocument xd = new XmlDocument();

xd.Load(path);

XmlNode node1 = xd["title"];

str = node1.InnerXml ;

return "你选择的是:" + str + SelectValue;

}

}

XML文件:

<?xml version="1.0" encoding="utf-8" ?>

<title>反热钱战争的终极利器——美元储备</title>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: