首页  ·  知识 ·  云计算
让ASP.NET前后台没有距离
a311300  http://www.cnblogs.com/a311300/archive/2008/09/25/  综合  编辑:dezai  图片来源:网络
在ASP.NET开发过程中,前后台之间数据的传递,事件的调用有时候会给开发带来一些不便。我在本文中介绍一些前后台互相调用的方法。如果大家在开发中有自己的

在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" >

    客户端回调
   


   
      
        请输入信息:
       
        <%--" width="80px" />--%>
       
   



//第三步:引用System.Web.UI.ICallbackEventHandler接口
public partial class Callback_1 : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
    //第四步:定义一个字符串,回调的结果信息将保存在该字符串中
    private string result;

    //第五步:引发回调事件处理
    public void RaiseCallbackEvent(string eventArgument)
    {
        //"eventArgument"为从客户端的javascript传递过来的参数
        result = "从服务器端返回的内容:" + eventArgument;
    }

    //第六步:回传回调结果
    public string GetCallbackResult()
    {
        return result;
    }
}

本文作者:a311300 来源:http://www.cnblogs.com/a311300/archive/2008/09/25/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读