答案肯定是有的,这样做的好处:不需要对json进行解析然后一个一个的取值,直接调用datatable值就可以简单迅速的获取我们所要的值,就相当于在后台处理一样,如我要获取datatable中列名为info的值,那么我们就直接在前端javascript中获取:dt.Rows[0]["Info"]。大家看这取值方式是不是跟后台一样呢?甚至于写法都是一样。
现在一一给大家讲解,这些方法在25亿企业网站管理系统的后台中都有相应的应用。
前端javascript中获取后台datatable代码:
var dt=Company.Templates.comm.GetMod(Request.QueryString("type")).value;
$("txtInfoTitle").value=dt.Rows[0]["InfoTitle"];
$("FCKeditor1").value=dt.Rows[0]["Info"];
后台cs代码:
[AjaxPro.AjaxMethod] //注意此处一定要写[AjaxPro.AjaxMethod]
public DataTable GetMod(int Type)
{
return SqlHelper.ExecuteDataset(SqlHelper.connStr(), "Pr_GetMod", Type,).Tables[0];
}
还有一点不能忘,就是前台需要引用ajaxPro,引用方法如下:
1,在项目中引入AjaxPro.dll文件,此文件大家可以直接在网上搜索下载。
2,直接在需要调用ajaxpro的页面中加入以下代码:
<script type="text/javascript" src="../../ajaxpro/prototype.ashx"></script>
<script type="text/javascript" src="../../ajaxpro/core.ashx"></script>
<script type="text/javascript" src="../../ajaxpro/converter.ashx"></script>
<script type="text/javascript" src="../../ajaxpro/Company.Templates.comm,Company.Templates.ashx"></script>
3,在web.config当中的system.web节点中加入:
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
</httpHandlers>
按以上方法设置完之后,我们就可以轻松的在javascript中利用ajaxPro获取后台datatable,并取得datatable中的列数和相应值,其实在ajax当中方法有很多,大家在开发当中灵活的运用就可以使我们的系统更强大。