Asp.net+Flash2004学习笔记一

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Flashmx2004中的DataGrid如何绑定asp.net的数据集:

<%@ Webservice Language="C#" class="test" %>

using System;

using System.Data;

using System.Web.Services;

using System.Data.OleDb;

public class test:WebService

{

[WebMethod]

public DataSet getds()

{

DataSet ds=new DataSet();

OleDbConnection conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/service.mdb");

OleDbDataAdapter da=new OleDbDataAdapter("select top 3 id,name,content from example",conn);

conn.Open();

da.Fill(ds,"example");

conn.Close();

return ds;

}

}

调试的时候,调用getds方法,可以得到如下XML文件:

<?xml version="1.0" encoding="utf-8"?>

<DataSet xmlns="http://tempuri.org/">

<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">

<xs:complexType>

<xs:choice maxOccurs="unbounded">

<xs:element name="example">

<xs:complexType>

<xs:sequence>

<xs:element name="id" type="xs:int" minOccurs="0" />

<xs:element name="name" type="xs:string" minOccurs="0" />

<xs:element name="content" type="xs:string" minOccurs="0" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">

<NewDataSet xmlns="">

<example diffgr:id="example1" msdata:rowOrder="0">

<id>1</id>

<name>lau</name>

<content>hello</content>

</example>

<example diffgr:id="example2" msdata:rowOrder="1">

<id>2</id>

<name>xiao</name>

<content>it's good</content>

</example>

<example diffgr:id="example3" msdata:rowOrder="2">

<id>3</id>

<name>bb</name>

<content>wa~</content>

</example>

</NewDataSet>

</diffgr:diffgram>

</DataSet>

返回的这个DataSet是[object Object]类型,根据wsdl得到的results的数据类型是.net DataSet,不过在flash固有的数据类型里并不包括这项。

经过大量的测试终于找到了两种解决办法:

办法一:

SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);

SqlDataAdapter da=new SqlDataAdapter("select * from BBS_灌水乐园_疯逛灌水_发贴",conn);

DataSet ds=new DataSet();

conn.Open();

da.Fill(ds);

XmlDataDocument xmlDoc=new XmlDataDocument(ds);

Return xmlDoc.InnerXml //这样返回的就是xml格式的dataset

在Flash中接受的办法:

my_xml=new XML();

my_xml.parse("这里是你通过webservice得到的那个结果(也就是我的代码里最后返回的xmlDoc.innerxml)");之后就把结果传到了flash里,my_xml就是xml格式的dataset,然后你在帮定到datagrid里.OK!试试吧.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航