Ajax技术如何应用于基于数据集开发模式的企业应用中
企业应用的组织方式大致分为三种:基于过程的脚本、面向对象的领域模型、基于数据集的开发模式。看网上的Ajax例子全部都是几个简单的输入框的例子,如何在基于数据集的开发模式中应用这种技术有没有人调通过的?目前看到的例子来看只是利用这种技术从服务端返回一个简单的数据,呈现仍然需要在客户端写代码做展示(未知这个思路是否正确?)
以ASP.NET的DataGrid举列,想实现的效果是数据绑定而不刷新页面。我从博客园的流浪的蝴蝶那里看的一个例子做了一些测试如下:
1 建了一个WebApp,在WebForm1页面中申明如下(其中DBInterface为数据库访问层类,Execute方法返回DataTable):
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
}
[Ajax.AjaxMethod()]
public void BindDataToDataGrid()
{
DBInterface DBI = DBFactory.GetDBInterface();
DataGrid1.DataSource = DBI.Execute("select * from sys_workflow",true);
DataGrid1.DataBind();
}
}
2 在WebForm1.aspx页面文件中写入如下客户端函数:
<script>
function BindData()
{
WebForm1.BindDataToDataGrid()
}
</script>
3 在WebForm1.aspx页面文件中使用一个Html按钮触发BindData方法,可以跟踪到服务端BindDataToDataGrid方法已经执行,但是DataGrid1没有实例化,检查发现此时整个WebForm1的状态都不正确,想想客户端没有对WebForm1.aspx的请求,当然WebForm1这个类不能正常实例化。由此产生疑问:Ajax技术能不能应用与这样的基于数据集的开发模式中?