前台调用后台:
1.javaScript函数调用
a.首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
b.在前台写一个js函数,内容为document.getElementById("btn1").click();
c.在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
<a href="###" onclick="test()"><img src="http://www.cnblogs.com/Images/adminlogo.gif" /></a>
function test()
{
document.getElementById("Button1").click();
}
</script>
{
Response.Write("aaaaaaaaaaaaaaa");
}
用click不会引发页面的dopostback事件.
2.后台公共方法
a.函数声明为public
b.在html里用可以调用
function test2()
{
var a = "<%=test2()%>";
alert(a);
}
</script>
{
return "hello.";
}
3.__doPostBack方法
function __doPostBack(eventTarget, eventArgument)
{
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
function onOpen()
{
__doPostBack('<%= Button1.UniqueID %>','');
}
</script>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
4.使用ajax框架中的方法
a.引用ajax.dll.我使用的是Ajax.NET Library 5.7.22.2
b.在web.config中添加
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
c.在Global.asax中添加
protected void Application_Start(object sender, EventArgs e)
{
Ajax.Utility.HandlerPath = "ajax";
}
d.在使用页的后台添加
{
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
}
[Ajax.AjaxMethod]
public string ajaxTest()
{
return DateTime.Now.ToString();
}
说明:typeof(_Default))为使用页的页面类名. [Ajax.AjaxMethod]是需要使用的ajax方法的标识.
e.在前台页面中使用.
// <!CDATA[
function Button1_onclick() {
var tempstr =_Default.ajaxTest().value;
//alert(document.getElementById("Label1").innerHTML);
document.getElementById("Label1").innerHTML = tempstr;
}
// ]]>
</script>
<input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
后台调用前台:
1.RegisterStartupScript(key, script)方法
方法说明:
接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括 <script> 的起始标记和终止标记。第一个参数 key 是插入的客户端脚本的唯一标识符。在 Web 窗体的结尾处(在 </form> 标识之前)发送脚本块。
调用Demo:
前台脚本:
function Show()
{
alert("Hello");
}
</script>
2.RegisterClientScriptBlock(key, script)方法
方法说明:
接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括 <script> 的起始标记和终止标记。第一个参数 key 是插入的客户端脚本的唯一标识符。 在 Web 窗体的开始处(紧接着 <form runat="server"> 标识之后)发送脚本块,
调用Demo:
前台脚本:
function Show()
{
alert("Hello");
}
</script>
3.控件属性添加
例如为按钮控件添加OnClick调用前台Show()方法.
前台调用后台,然后返回前台:
1.通过asp.net 2.0中提供的客户端回调函数GetCallbackEventReference
使用方法和Demo讲解