在 Javascript 中读取 C# Dataset 实例(转)

转自 http://blog.csdn.net/whqcfp/archive/2008/04/10/2276676.aspx
       最近在AJAX 开发中, 需要调用业务函数,操作Dataset, 读取数据集,具体操作方法如下:

 新建一 WEB 项目,创建一业务类:如下所示:

using  System;
using  System.Data;
using  System.Configuration;
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.Data.OleDb;
using  System.Text;

/**/ ///   <summary>
///  test 的摘要说明
///   </summary>
public   class  test
{
    
public  test()
    {
        
//
        
//  TODO: 在此处添加构造函数逻辑
        
//
    }

    
//  数据集传递测试
    [Ajax.AjaxMethod()]
    
public  DataSet GetDataSet()
    {
        OleDbConnection conn 
=   new  OleDbConnection( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:工作项目分析 estdb.mdb;Persist Security Info=True; " );
        DataSet ds 
=   new  DataSet();
        
try
        {
            OleDbCommand cmd 
=  conn.CreateCommand();
            cmd.CommandText 
=   " select * from t_name " ;
            cmd.CommandType 
=  CommandType.Text;

            OleDbDataAdapter da 
=   new  OleDbDataAdapter(cmd);
            da.Fill(ds);
            
return  ds;
        }
        
catch
        {
            conn.Close();
            
throw ;
        }
    }
}
    创建好业务类以后,再新建一 Aspx 页面,在页面的 Page_Load 中注册业务类:
     protected   void  Page_Load( object  sender, EventArgs e)
    {
        Ajax.Utility.RegisterTypeForAjax(
typeof (test));
    }
    页面代码如下:
<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " read_dataset.aspx.cs "  Inherits = " read_dataset "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
    
< title > read_dataset </ title >

    
< script language = " JavaScript " >

        function getDataSet()
        {
            var ds 
= test.GetDataSet().value;
            
if (ds  !=   null   &&   typeof (ds)  ==   " object "   &&  ds.Tables  !=   null )
            {
                var s 
=   new  Array();
                s[s.length] 
=   " <table style='border: #000000 1px solid; color: #993333; font-family: 'Microsoft Sans Serif'; background-color: #ffff99;'> " ;
                
                
for (var i = 0 ; i < ds.Tables[ 0 ].Rows.length; i ++ )
                {
                    s[s.length] 
=   " <tr> " ;
                    s[s.length] 
=   " <td> "   +  ds.Tables[ 0 ].Rows[i].id  +   " </td> " ;
                    s[s.length] 
=   " <td> "   +  ds.Tables[ 0 ].Rows[i].f_date  +   " </td> " ;
                    s[s.length] 
=   " <td> "   +  ds.Tables[ 0 ].Rows[i].f_name  +   " </td> " ;
                    s[s.length] 
=   " </tr> " ;
                }

                s[s.length] 
=   " </table> " ;
                document.getElementById(
" div1 " ).innerHTML  =  s.join( "" );
                }
            
else
            { 
                alert(
" 调用Ajax接口函数错误! " ); 
            }
        }
    
</ script >

</ head >
< body >
    
< form id = " form1 "  runat = " server " >
        
< input type = " button "  value = " dataset "  onclick = " getDataSet(); "   />
        
< div id = " div1 " >
        
</ div >
    
</ form >
</ body >
</ html >

执行后,可以读取数据集的数。

本例子当中,使用 AJAX.dll, 具体的用法可以参看我写的:Ajax 开发实例(Ajax.dll 和 .Net 2.0):http://blog.csdn.net/whqcfp/archive/2008/04/03/2247944.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值