手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

客户端回调实现gridView无刷新分页

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

<asp:ControlParameter ControlID="TxtEndTime" DefaultValue="9999-12-31" Name="dtEndTime"
PropertyName="Text" Type="DateTime" />
<asp:ControlParameter Name="Pageid" ControlID="DownListIndex" DefaultValue="1" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>

</td>
</tr>
</table>

</div>
</form>
</body>
</html>

Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.IO;
using System.Text;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Globalization;

public partial class _Default : System.Web.UI.Page,ICallbackEventHandler
...{
protected void Page_Load(object sender, EventArgs e)
...{
this.Submit.Attributes.Add("onclick", "QueryServer(txtOperator,TxtStartTime,TxtEndTime,1,"true");return false;");
this.DownListIndex.Attributes.Add("onchange", "QueryServer(txtOperator,TxtStartTime,TxtEndTime,this.value,"false");return false;");
}

回调分页#region 回调分页
private string serverReturn;

public string GetCallbackResult()
...{

string[] parts = serverReturn.Split('|');
//根据传递的方法名进行调用,并传递相应的参数,目前只支持一个参数
return (string)GetType().GetMethod(parts[0]).Invoke(this, new object[] ...{ parts[1] });
}

public void RaiseCallbackEvent(string eventArgument)
...{
serverReturn = eventArgument;
}

/**//// <summary>
/// 根据从客户端传来的值,对GridView的内容进行更新,并将更新后的GridView的html返回
/// </summary>
/// <param name="arg"></param>
/// <returns></returns>

public string ServerMethodQuery(string arg)
...{
Logs.DataSourceID = "DataSourceLog";

string[] arrayArg = arg.Split('$');
this.txtOperator.Text = arrayArg[0];
this.TxtStartTime.Text= arrayArg[1];
this.TxtEndTime.Text = arrayArg[2];

intialPageSelect();
this.DownListIndex.SelectedValue = arrayArg[3];
Logs.DataBind();

//传入客户端字符串,并用"$"分割
StringBuilder strHtml = new StringBuilder();
strHtml.Append(RenderControl(Logs));
strHtml.Append("$");
strHtml.Append(DataLogic.recordSum.ToString());
strHtml.Append("$");
strHtml.Append(Convert.ToString(DataLogic.recordSum / DataAccess.RowsPerPage 1));
strHtml.Append("$");
strHtml.Append(arrayArg[3]);
if (arrayArg[4] == "true")
...{
strHtml.Append("$");

intialPageSelect();
strHtml.Append(RenderControl(DownListIndex));
}

return strHtml.ToString();
}

private string RenderControl(Control control)
...{
StringWriter writer1 = new StringWriter(CultureInfo.InvariantCulture);
HtmlTextWriter writer2 = new HtmlTextWriter(writer1);

control.RenderControl(writer2);
writer2.Flush();
writer2.Close();

return writer1.ToString();
}

/**//// <summary>
/// 初始化页下拉单
/// </summary>
private void intialPageSelect()
...{
DownListIndex.Items.Clear();
for (int i = 0; i < (DataLogic.recordSum / DataAccess.RowsPerPage 1); i )
...{
this.DownListIndex.Items.Add(Convert.ToString(i 1));
}

}
#endregion
}
如有错误,欢迎指正!

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!