在 Javascript 中读取 C# Dataset 实例

来源:互联网 发布:耽美小说改编的网络剧 编辑:程序博客网 时间:2024/06/05 03:49

        最近在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:/工作项目/分析/test/db.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

原创粉丝点击