这是我最近没事的时候研究的东东,使用AjaxPro.2.dll,从前台调用后台Ajax方法,希望对各位亲有帮助哦。。
1.首先将AjaxPro.2.dll从网上下载下来,打开VS项目,点击项目,右键---添加引用,将dll添加引用进来
2.在Web.config中添加如下代码:
注意:添加在<system.web> </system.web>中
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpHandlers>
</system.web>
3.创建一个Default.aspx页面
[AjaxPro.AjaxNamespace("pro")]
public partial class Default : System.Web.UI.Page
{
string connectionString = ConfigurationManager.AppSettings["BDSqlConnection"];//数据库连接
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Default));//注册Ajax可以调用的Default类的名称
}
//注意:[AjaxPro.AjaxMethod]是定义AjaxPro可调用的方法,是必须要注明的
[AjaxPro.AjaxMethod]
public string getUserName()
{
string username = "";
string sql = "select username from userinfo where id=1";
SqlDataReader reader = SqlHelper.ExecuteReader(connectionString, sql);
while (reader.Read())
{
username = reader["username"].ToString();
}
return username;
}
}
4.前台代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript">
function userName() {
var username = pro.getUserName().value; //直接调用后台页面的方法 注意这里是pro
document.getElementById("txtUserName").value = username;
}
</script>
</head>
<body οnlοad="userName();">
<form id="form1" runat="server">
<input id="txtUserName" />
</form>
</body>
</html>
OVER
注意:使用AjaxPro.2 定义AjaxPro可调用的方法,不可以定义在类中(cs类里面没有地方注册ajaxpro哦),只能在后台,负责会出错的哦。