翻了一下baidu,确定通过ajax实现,这里写一个例子。
实现功能:
1.main页面点击一个input button来在一个input text 里显示从test.aspx页面返回的字符串
2.点击另一个button来触发服务端方法,实现更新数据库等操作
具体步骤:
1.构造main.html,其页面代码如下,为了简化操作,这里使用了jquery框架
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//此部分为关键代码区
</script>
</head>
<body>
<input id="t1" type="text"/>
<input id="b1" type="button" value="显示返回值" οnclick="filltext();"/>
<input id="t2" type="text"/>
<input id="b2" type="button" value="触发服务器方法" οnclick="doit()";/>
</body>
</html>
2.构造test.aspx页,我们将Html标签部分删除只留下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
在test页面的Page_Load方法中,对数据库进行操作,然后返回数据:
protected void Page_Load(object sender, EventArgs e)
{
string Name = Request.QueryString["name"];
Response.Write(Name);
}
3.填写关键部分的js代码
function filltext(){
$.get("test.aspx",{name:'wf8988'},function(data){fillcallback(data);}); //jquery提供的get方法
}
function fillcallback(data){
var t1=$("#t1");
t1.val(data);
}
4.备注:如果要调用后台方法,可将方法名称、参数等标识性数据融入$.get()的第二参数,后台处理代码可如下
switch(Name){
case "func1":dofunc1();
break;
case "func2": dofunc2();
break;
}