繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> webservice结合dhtml的简单例子(一,webservice)

webservice结合dhtml的简单例子(一,webservice)

2007-08-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:前段事件在网上看到一个基于web的财务系统,它是通过activex实现的,实际上如果用webservice结合dHTML,那完全可以抛开activex。下面是个简单的例子。 首先是webservice , 很简单,我就不详细说明了,看注释就可...

前段事件在网上看到一个基于web的财务系统,它是通过activex实现的,实际上如果用webservice结合dHTML,那完全可以抛开activex。下面是个简单的例子。

首先是webservice , 很简单,我就不详细说明了,看注释就可以了。

文件 study.asmx.cs

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.Web;

using System.Web.Services;

using System.XML.Serialization ;

namespace StudyXML

{

///

///
一个webservice的例子

///
Author:Bigeagle@163.net

///
Date: 2001/12/21

///
History: 2001//12/21完成

///

///

/// 这个webservice实现的功能很简单

/// 主要功能有两个,一个是取得预定义的Item数组

/// 另一个是保存Record类型的纪录

///

public class Study : System.Web.Services.WebService

{

private ArrayList m_arrItems ;

private ArrayList m_arrReocrds ;

public Study()

{

//CODEGEN: This call is required by the ASP.NET Web Services Designer

InitializeComponent();

this.m_arrReocrds = new ArrayList() ;

this.m_arrItems = new ArrayList() ;

//增加一些实验数据

for(int i = 0 ; i < 100 ; i ++)

{

this.m_arrItems.Add(new Item("ItemName" + i.ToString()

, "ItemValue" + (i + 1).ToString())) ;

}

}

///

///

///

/// Item name

/// Item对象

private Item GetItem(string a_strItemName)

{

//throw(new Exception(Server.UrlDecode(a_strItemName))) ;

for(int i = 0 ; i < this.m_arrItems.Count ; i ++)

{

Item item = (Item)this.m_arrItems[i] ;

if(item.Name == Server.UrlDecode(a_strItemName).Trim())

{

return item ;

}

}

return null ;

}

#region Component Designer generated code

//Required by the Web Services Designer

private IContainer components = null;

///

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

///

private void InitializeComponent()

{

}

///

/// Clean up any resources being used.

///

protected override void Dispose( bool disposing )

{

if(disposing && components != null)

{

components.Dispose();

}

base.Dispose(disposing);

}

#endregion

[WebMethod]

public void AddItem(string a_strName , string a_strValue)

{

this.m_arrItems.Add(new Item(a_strName , a_strValue));

}

///

/// 取得Item列表

///

/// arraylist

[WebMethod]

[XMLInclude(typeof(Item))]

public ArrayList GetItems()

{

return this.m_arrItems ;

}

///

/// 保存纪录

///

///

///

///

/// 如果成功返回false,否则返回false

[WebMethod]

public bool SaveRecord(string a_strItemName

, string a_strDemoName , int a_intDemoAmount)

{

try

{

Item item = this.GetItem(a_strItemName) ;

if(item != null)

{

this.m_arrReocrds.Add(new Record(this.m_arrReocrds.Count + 1

, item

, new Demo(a_strDemoName , a_intDemoAmount))) ;

}

else

{

throw(new Exception("指定Item的Name错误!")) ;

}

return true ;

}

catch(Exception e)

{

throw(new Exception(e.ToString())) ;

//return false ;

}

}//end method

}//end class

///

/// 一个简单的类,用来对应象select的option这类东西

///

public class Item

{

private string m_strName ;

private string m_strValue ;

public string Name

{

get

{

return this.m_strName ;

}

set

{

this.m_strName = value ;

}

}

public string Value

{

get

{

return this.m_strValue ;

}

set

{

this.m_strValue = value ;

}

}

public Item(string a_strName , string a_strValue)

{

this.m_strName = a_strName ;

this.m_strValue = a_strValue ;

}

public Item()

{

this.m_strName = "" ;

this.m_strValue = "" ;

}

}//end class

///

/// 简单的示例用类

/// 结构很简单,三个成员变量

/// 一个int类型的编号,

/// 一个item类型,一个Demo类型

///

public class Record

{

private int m_intID ;

private Item m_objMyItem ;

private Demo m_objMyDemo ;

public Record()

{

this.m_intID = 0 ;

this.m_objMyDemo = new Demo() ;

this.m_objMyItem = new Item() ;

}

public Record(int a_intID , Item a_objItem , Demo a_objDemo)

{

this.m_intID = a_intID ;

this.m_objMyDemo = a_objDemo ;

this.m_objMyItem = a_objItem ;

}

}//end calss

///

/// 一个简单的示例用类

/// 结构很简单,只有两个成员变量,一个name , 一个amount

///

public class Demo

{

private string m_strName ;

private int m_intAmount ;

public string Name

{

get

{

return this.m_strName ;

}

set

{

this.m_strName = value ;

}

}

public int Amount

{

get

{

return this.m_intAmount ;

}

set

{

this.m_intAmount = value ;

}

}

///

/// 构造函数

///

public Demo()

{

this.m_intAmount = 0 ;

this.m_strName = "" ;

}

///

/// 重载构造函数

///

///

///

public Demo(string a_strName , int a_intAmount)

{

this.m_intAmount = a_intAmount ;

this.m_strName = a_strName ;

}

}//end class

}//end namespace

责任编辑:admin
相关文章