网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

webservice结合dhtml的简单例子(3)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/02/27

网学网为广大网友收集整理了,webservice结合dhtml的简单例子(3),希望对大家有所帮助!

    前段事件在网上看到一个基于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
{
    /// <summary>
    /// <br>一个webservice的例子</br>
    /// <br>Author:Bigeagle@163.net</br>
    /// <br>Date:  2001/12/21</br>
    /// <br>History: 2001//12/21完成</br>
    /// </summary>
    /// <remarks>
    /// 这个webservice实现的功能很简单
    /// 主要功能有两个,一个是取得预定义的Item数组
    /// 另一个是保存Record类型的纪录
    /// </remarks>
    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())) ;
            }

            
        }

        /// <summary>
        ///
        /// </summary>
        /// <param name="a_strItemName">Item name</param>
        /// <returns>Item对象</returns>
        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;
                
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        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));
        }


        /// <summary>
        /// 取得Item列表
        /// </summary>
        /// <returns>arraylist</returns>
        [WebMethod]
        [XmlInclude(typeof(Item))]
        public ArrayList GetItems()
        {
            return this.m_arrItems ;
        }

        /// <summary>
        ///  保存纪录
        /// </summary>
        /// <param name="a_strItemName"></param>
        /// <param name="a_strDemoName"></param>
        /// <param name="a_intDemoAmount"></param>
        /// <returns>如果成功返回false,否则返回false</returns>
        [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

    /// <summary>
    /// 一个简单的类,用来对应象select的option这类东西
    /// </summary>
    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

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号