ajax笔记 显示出所城市名称 ShowCity.aspx.cs代码
下面是cs代码
下面是html里的代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using GetCommand; //这是一个连接数据库的DLL
public partial class Ajax_ShowCity : System.Web.UI.Page, ICallbackEventHandler
{
/// <summary>
/// 声明一个数据集对象
/// </summary>
private DataSet lookupData = null;
protected void Page_Load(object sender, EventArgs e)
{
string js = Page.ClientScript.GetCallbackEventReference(this, "arg", "OnServerCallComplete", "ctx", "OnServerCallError", true);//这里false表示异步回调; true表示同步回调);
StringBuilder newFunction = new StringBuilder();
newFunction.Append("function StartAsyncCall(arg,ctx) ");
newFunction.Append("{ ");
newFunction.Append( js );
newFunction.Append(" } ");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "NewAsyncMethod", newFunction.ToString(), true);
///
/// 是首页上显示出所有城市出来
///
this.ShowCity();
this.lblMessage.Text = SetConnection._errorStatus;
this.lblMessage.Text += SetConnection.status;
}
/// <summary>
/// 显示城市
/// </summary>
private void ShowCity()
{
string executeString = "select CityID,CityName from City";
GridView1.DataSource = this.GetLookupValuesFromDatabase(executeString,"City");
this.GridView1.DataBind();
}
/// <summary>
/// 返回一个数据集
/// </summary>
/// <param name="executeString">sql语句或存储过程</param>
/// <param name="TableName">在内存中名和名称</param>
/// <returns>ds</returns>
private DataSet GetLookupValuesFromDatabase(string executeString,string TableName)
{
DataSet ds = GetCommand.SetConnection.getDataSet(executeString, TableName);
return ds;
}
/// <summary>
/// 返回回调结果
/// </summary>
/// <returns></returns>
public string GetCallbackResult()
{
///
/// 存放City表中的城市ID号
///
StringBuilder ids = new StringBuilder();
///
/// 存放City表中的城市名称
///
StringBuilder names = new StringBuilder();
int rowCount = 0;
int numberRows = lookupData.Tables["City"].Rows.Count;
foreach (DataRow row in lookupData.Tables["City"].Rows)
{
rowCount++;
if (rowCount <= numberRows)
{
ids.Append(row["CityID"].ToString());
ids.Append("|");
names.Append(row["CityName"].ToString());
names.Append("|");
}
//if (rowCount < numberRows)
//{
//}
}
string returnData = string.Format("{0}~{1}", ids.ToString(), names.ToString());
return returnData;
}
public void RaiseCallbackEvent(string eventArgument)
{
System.Threading.Thread.Sleep(2000);
string executeString = "select CityID,CityName from City";
lookupData = this.GetLookupValuesFromDatabase(executeString, "City");
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using GetCommand; //这是一个连接数据库的DLL
public partial class Ajax_ShowCity : System.Web.UI.Page, ICallbackEventHandler
{
/// <summary>
/// 声明一个数据集对象
/// </summary>
private DataSet lookupData = null;
protected void Page_Load(object sender, EventArgs e)
{
string js = Page.ClientScript.GetCallbackEventReference(this, "arg", "OnServerCallComplete", "ctx", "OnServerCallError", true);//这里false表示异步回调; true表示同步回调);
StringBuilder newFunction = new StringBuilder();
newFunction.Append("function StartAsyncCall(arg,ctx) ");
newFunction.Append("{ ");
newFunction.Append( js );
newFunction.Append(" } ");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "NewAsyncMethod", newFunction.ToString(), true);
///
/// 是首页上显示出所有城市出来
///
this.ShowCity();
this.lblMessage.Text = SetConnection._errorStatus;
this.lblMessage.Text += SetConnection.status;
}
/// <summary>
/// 显示城市
/// </summary>
private void ShowCity()
{
string executeString = "select CityID,CityName from City";
GridView1.DataSource = this.GetLookupValuesFromDatabase(executeString,"City");
this.GridView1.DataBind();
}
/// <summary>
/// 返回一个数据集
/// </summary>
/// <param name="executeString">sql语句或存储过程</param>
/// <param name="TableName">在内存中名和名称</param>
/// <returns>ds</returns>
private DataSet GetLookupValuesFromDatabase(string executeString,string TableName)
{
DataSet ds = GetCommand.SetConnection.getDataSet(executeString, TableName);
return ds;
}
/// <summary>
/// 返回回调结果
/// </summary>
/// <returns></returns>
public string GetCallbackResult()
{
///
/// 存放City表中的城市ID号
///
StringBuilder ids = new StringBuilder();
///
/// 存放City表中的城市名称
///
StringBuilder names = new StringBuilder();
int rowCount = 0;
int numberRows = lookupData.Tables["City"].Rows.Count;
foreach (DataRow row in lookupData.Tables["City"].Rows)
{
rowCount++;
if (rowCount <= numberRows)
{
ids.Append(row["CityID"].ToString());
ids.Append("|");
names.Append(row["CityName"].ToString());
names.Append("|");
}
//if (rowCount < numberRows)
//{
//}
}
string returnData = string.Format("{0}~{1}", ids.ToString(), names.ToString());
return returnData;
}
public void RaiseCallbackEvent(string eventArgument)
{
System.Threading.Thread.Sleep(2000);
string executeString = "select CityID,CityName from City";
lookupData = this.GetLookupValuesFromDatabase(executeString, "City");
}
}