注册 登录
编程论坛 ASP.NET技术论坛

前台调用后台程序不刷新,附源码

tomtory 发布于 2008-07-02 10:21, 3089 次点击
现在经常看到问在前台调用后台程序不刷新的问题,很多说的是用ajax来完成  对于不熟悉这个玩意儿的来说比较复杂 呵呵
现给讲解另外一种方法
在下面自己下源码去看看

比较简单

首先  继承ICallbackEventHandler类,

且在Page_Load方法了面加入代码
            //在Page_Load创建JS调用方法
            ClientScriptManager csm = Page.ClientScript;
            //GetLevelHtmlClient为前台写的方法,用于接收在后台操作完的数据,对其进行操作
            string GetLevelHtmlClient = csm.GetCallbackEventReference(this, "sqlString", "GetLevelHtmlClient", "");
            //创建JS方法GetLevelHtmlServer就为前台按钮调用的方法
            string GetLevelHtmlServer = "function GetLevelHtmlServer (sqlString) { " + GetLevelHtmlClient + "; }";
            csm.RegisterClientScriptBlock(Page.GetType(), "Init", GetLevelHtmlServer, true);

然后创建两个方法,用来接受前台传入的数据和返回在后台处理完的数据
        //全局变量returnValue
        string returnValue = "";
        /// <summary>
        /// 将执行完的数据返回前台
        /// </summary>
        /// <returns></returns>
        public string GetCallbackResult()
        {
            return returnValue;
        }
        /// <summary>
        /// 接受前台数据,在后台对其数据进行操作
        /// </summary>
        /// <param name="eventArgument">在Page_Load中创建的其它JS方法所传入的值</param>
        public void RaiseCallbackEvent(string eventArgument)
        {
            string sqlString = eventArgument;
            returnValue = GetFields(sqlString);
        }

其中RaiseCallbackEvent中的GetFields方法是自建方法
用来处理前台数据
        /// <summary>
        /// 为自建方法,处理需要处理的数据
        /// </summary>
        /// <param name="sql">前台传入的数据</param>
        /// <returns></returns>
        public string GetFields(string sql)
        {

            /**-----在这里添加代码-----**/


            //返回数据
            return sql;
        }


基本就这样
在程序里面有注释

简单噻  呵呵
8 回复
#2
tomtory2008-07-04 09:41
嘿嘿  顶回去  下了还是顶下噻  留个言嘛
#3
jeffrey04092008-07-04 15:27
回复 1# tomtory 的帖子
先下载,再留言,最后看!
谢谢楼主!
#4
tomtory2008-07-04 16:18
#5
yzszc2010-01-06 15:52
回复 4楼 tomtory
太好了
#6
lichuanbiao2010-05-20 09:36
谢了
1