好吧,我把实现过程列出来。首先我们需要一个Ajax.dll文件,这个自己去找吧!放到项目中,并添加好引用。首先,你需要一个类,随意命名为“AjaxMethod.cs”代码如下:
namespace Test.AjaxTest
{
/// <summary>
/// AjaxMethod 的摘要说明。
/// </summary>
public class AjaxMethod
{
public AjaxMethod() {}
//数据库查询操作
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public DataSet GetList(string id)
{
string sql = "select CityName,CityCode from City where [ID]=" + id;
return SelectData(sql); //调用下面的方法
}
//
private DataSet SelectData(string sql)
{
//数据库链接定义:
//Web.config中<configuration><appSettings></appSettings></configuration>
//中添加定义:<add key="ConnectionString" value="data source=localhost;
// initial catalog=helpdesk1; user id=sa; password=sa; "></add>
string cs = System.Configuration.ConfigurationSettings .AppSettings["ConnectionString"];
//或者直接这样定义
//string cs = "Server=(local);UID=sa;PWD=sa;Database=HelpDesk1";
SqlDataAdapter sda = new SqlDataAdapter(sql,cs);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}
}
接下来是你要实现效果的页面a.aspx,<body>部分很简单:<body>
<form />
</httpHandlers>
延伸:我们完全可以将AjaxMethod写成一个公共Page,将调用业务层代码的方法添加进来。如此,便可以不用在那里面定义数据库链接了——我们要得到的仅仅是一个DataTable,而不必关心用什么样的方式得到它。这样的设计与项目框架的结合将更紧密。