我的前台代码是:
<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1._Default" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Default</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"content="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<input id="Button1" name="Button1" type="button" value="获得服务器时间" onclick="GetServerTime()" runat="server">
<input id="Text1" type="text" runat="server">
<input id="Text2" type="text" runat="server">
<input id="Button2" name="Button2" type="button" value="得到两个文本框的和" onclick="AddTwo(document.getElementById('Text1').value,document.getElementById('Text2').value)" runat="server">
</form>
</body>
</HTML>后台代码是:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
} [AjaxPro.AjaxMethod]
public DateTime GetServerTime()
{
return DateTime.Now;
} [AjaxPro.AjaxMethod]
public int AddTwo(int firstInt, int secondInt)
{
return firstInt + secondInt;
}
已经运用了AjaxPro.dll但是运行后,点击按钮就出现网页错误是什么原因啊??
<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1._Default" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Default</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"content="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<input id="Button1" name="Button1" type="button" value="获得服务器时间" onclick="GetServerTime()" runat="server">
<input id="Text1" type="text" runat="server">
<input id="Text2" type="text" runat="server">
<input id="Button2" name="Button2" type="button" value="得到两个文本框的和" onclick="AddTwo(document.getElementById('Text1').value,document.getElementById('Text2').value)" runat="server">
</form>
</body>
</HTML>后台代码是:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
} [AjaxPro.AjaxMethod]
public DateTime GetServerTime()
{
return DateTime.Now;
} [AjaxPro.AjaxMethod]
public int AddTwo(int firstInt, int secondInt)
{
return firstInt + secondInt;
}
已经运用了AjaxPro.dll但是运行后,点击按钮就出现网页错误是什么原因啊??
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="ajax.Default2" %>
<script type="text/jscript">
function ff()
{
ajax.Default2.AddTwo(22,33,getAdd); //AddTwo的代码是在Default2.aspx.cs文件里面实现的
}
function getAdd(rel)
{
var ff=document.getElementById("dd");
ff.innerHTML=rel.value;
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(rel.value);
nodes=xmlDoc.getElementsByTagName("cname");
var j=document.all.Select1.options.length;
for( var n=0;n<j;n++)
{
document.all.Select1.options.remove(j);
}
j=0;
for(var i = 0; i < nodes.length; i++)
{
document.all.Select1.options[j] = new Option(nodes[i].firstChild.data,i);
j=j+1;
}
}
</script>下面的代码是在web.config配置文件里添加的,用于注册ajax
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>下面的是后台代码,首先加命名空间ajax,接着在page_load事件里面注册在后台处理的类Default,
用属性[AjaxPro.AjaxMethod]声明用于在前台调用的方法
namespace ajax
{
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Default2));
}
[AjaxPro.AjaxMethod]
public string AddTwo(int firstInt, int secondInt)
{
return GetCity("server='192.168.1.25';database='hydb';uid='sa';pwd='123'","1");
}
public string GetCity(string conn, string pid)
{
using (SqlConnection con =new SqlConnection(conn))
{
SqlCommand cmd = new SqlCommand("GetCity", con);
cmd.Parameters.Add("@pid", SqlDbType.VarChar, 10);
cmd.Parameters["@pid"].Value = pid;
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "city");
string ss= ds.GetXml();
return ss;
//dd.DataSource = ds.Tables["city"].DefaultView;
//dd.DataBind();
}
}
}
}
当然首先要引用AjaxPro.dll文件
<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1._Default" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Default</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"content="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script language="javascript" type="text/javascript">
function GetServerTime()
{
Default.GetServerTime(GetServerTime_callback);
}
function GetServerTime_callback(res)
{
document.getElementById("txtTime").value = res.value;
}
function AddTwo()
{
var firstInt = document.getElementById("Text1").value;
var secondInt = document.getElementById("Text1").value;
Default.AddTwo(firstInt,secondInt,AddTwo_callback);
}
function AddTwo_callback(res)
{
document.getElementById("txtResult").value = res.value;
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<input id="Button1" name="Button1" type="button" value="获得服务器时间" onclick="GetServerTime()" runat="server">
<input id="txtTime" type="text" runat="server">
<input id="Text1" type="text" runat="server">
<input id="Text2" type="text" runat="server">
<input id="txtResult" type="text" runat="server">
<input id="Button2" name="Button2" type="button" value="得到两个文本框的和" onclick="AddTwo()" runat="server">
</form>
</body>
</HTML>后台代码是:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
} [AjaxPro.AjaxMethod]
public DateTime GetServerTime()
{
return DateTime.Now;
} [AjaxPro.AjaxMethod]
public int AddTwo(int firstInt, int secondInt)
{
return firstInt + secondInt;
}