在ASP.NET开发过程中,前后台之间数据的传递,事件的调用有时候会给开发带来一些不便。我在本文中介绍一些前后台互相调用的方法。如果大家在开发中有自己的方法,请给我留言,我将集成到本文中,给后来的朋友做一些参考。将开发情境和使用方法做一些,以便更好的使用ASP.NET.
前台调用后台:
1.javascript函数调用
a.首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
b.在前台写一个js函数,内容为document.getElementById("btn1").click();
c.在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
" />
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("aaaaaaaaaaaaaaa");
}
用click不会引发页面的dopostback事件.
2.后台公共方法
a.函数声明为public
b.在html里用可以调用
" />
public string test2()
{
return "hello.";
}
3.__doPostBack方法
4.使用ajax框架中的方法
a.引用ajax.dll.我使用的是Ajax.NET Library 5.7.22.2
b.在web.config中添加
c.在Global.asax中添加
protected void Application_Start(object sender, EventArgs e)
{
Ajax.Utility.HandlerPath = "ajax";
}
d.在使用页的后台添加
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
}
[Ajax.AjaxMethod]
public string ajaxTest()
{
return DateTime.Now.ToString();
}
说明:typeof(_Default))为使用页的页面类名. [Ajax.AjaxMethod]是需要使用的ajax方法的标识.
e.在前台页面中使用.
后台调用前台:
1.RegisterStartupScript(key, script)方法
方法说明:
接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括
普通环境后台:
Page.ClientScript.RegisterStartupScript(this.GetType(), "Show", "javascript:Show()",true);
Ajax环境后台:
ScriptManager.RegisterStartupScript(this.Page, typeof(_Default), "show", "Show();", true);
2.RegisterClientScriptBlock(key, script)方法
方法说明:
接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括
普通环境后台:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Show", "javascript:Show()",true);
Ajax环境后台:
ScriptManager.RegisterClientScriptBlock(this.Page, typeof(_Default), "show", "Show();", true);
3.控件属性添加
例如为按钮控件添加onClick调用前台Show()方法.
btnShow.Attributes.Add("onClick", "javascript:Show()");
前台调用后台,然后返回前台:
1.通过asp.net 2.0中提供的客户端回调函数GetCallbackEventReference
使用方法和Demo讲解
html xmlns="http://www.w3.org/1999/xhtml" >
客户端回调