前台调用后台程序不刷新,附源码
现在经常看到问在前台调用后台程序不刷新的问题,很多说的是用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;
}
基本就这样
在程序里面有注释
简单噻 呵呵
WebPageRenovate.rar
(17.61 KB)