用.Net实现基于CSS的AJAX开发(1)

作者:凯旋网络来源:凯旋网络
可以删除、修改、上移下移]可以查看详细信息的控件出来是一件很费事的事。
  
   又有人说了,真笨,我直接拖一个DATAGRID然后再这个基础上加按纽,模板列,排序,详细连接好不好啊,还用特意做个
  控件吗?有很抱歉的告诉你,如果是1000个DATAGIRD,每一个都有这些功能的一种或几种,那么你后台够写的了,即使你抽象
  出一层、封装出一个专门的DataGirdBuilder类,也够复杂的,各种重载方法,晕。
  
   那么使用样式绑定式的开发就简单了,给DataGird个排序的样式(比如CssClass=sort),后台几句代码,或者干脆不写(
  你的准备比较充足),就可以了,再加个列变为删除按钮(比如其中的一个列里ItemStyle CssClass="delbtn"),就可以了,
  别的DataGrid不需要排序,那么样式去掉。而后页面类里干干静静。样式绑定后变化的元素传值到统一的业务对象进行处理,
  一切都很规矩。
  
  3 实现
   利用我之前做过的AJAX库,再结合javascript脚本构建一个这样的库不成问题。自然,跟做烧饭做菜一样,这里选料非常的 中.国.站.长.站
  重要,这里我要选用来自Dean Edwards和Tino Zijdel的事件操作脚本库(common.js)和Neil Cro~~~~y制作的样式基本操作库(
  css.js)来做好我们这道美味,噢,当然,还有大名鼎鼎的prototype.js库.
  
  
   好了,,前台的制作工序基本完成。
   然后就是利用我前一阵子做的AJAX库了。
   假设是删除,QueryString: command=delrow&JS生成的参数……
   则后台调用AjaxDelRow.cs
  
  protected override void DoAjax()
  ...{
   // 搜集参数
   string parlist = request.Params["pars"];
   string[] paritem = parlist.Split(''|'');
   Hashtable hash = new Hashtable(paritem.Length);
   for(int i=0;i<paritem.Length-1;i++)
   ...{
   string[] paritempart = paritem[i].Split(''^'');
   hash.Add(paritempart[0],paritempart[1]);
Www.Chinaz.com

   }
  
   bool isDeled = false;
   string table = request.Params["table"];
   // 判断来源
   if(table!=null)
   ...{
   if(table.Equals("dgBigclassmanage")) //DATAGRID的ID号
   ...{
   // 调用对应业务外观的DAO来删除
   // hash["0"]为datagrid的第0列,假设第0列传过来是ID值
   isDeled = (new BusinessFacade()).DeleteById(hash["0"].ToString());
   }
   if(isDeled)
   ...{
   Output("true");
   }
   else
   ...{
   Output("false");
   }
  }
  AjaxDelRow制作流程请参考.NET下的简单AJAX处理库

  • 广告推荐