如何在asmx.cs中使用comboBox来创建Web服务?

时间:2016-05-01 07:54:14

标签: c# asp.net web-services soap asmx

我具备使用asmx.cs创建Web服务的基本知识 并从任何客户端应用程序中使用 我想使用Visual Studio 2010在.NET 3.5中使用asmx.cs创建Web服务。 对于以下程序,默认情况下它使textBox从用户获取输入。 但我想使用comboBox从用户那里获取输入。 结果将显示为xml输出。 我想做一个Web服务程序,其中ComboBox中的一个城市将被视为输入 温度将显示为xml输出。 此代码仅提供textBox作为输入。


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    namespace WebService1
    {
        public class Service1 : System.Web.Services.WebService
        {
            [WebMethod]
            public string GetCityByZip(int Zip)
            {
                return "City Name = XYZ, Temperature = 30 Degree";
            }       
        }
    }

1 个答案:

答案 0 :(得分:0)

我想,你所说的是这个用于测试你的网络服务方法的HTML,对吗?

http://3.bp.blogspot.com/_nuQwSyDoLk8/RvWnnpahW8I/AAAAAAAAAJw/UTFuJmCx5M0/s1600-h/WS3.bmp

此测试ui是根据您的服务的WSDL自动生成的。 输入类型基于您的服务公开的方法。因此,如果您的服务中有类似CityInfo GetCityInfo(string cityName)的方法,则会有一个输入类型为string的文本框(正如您已经注意到的那样)。如果您正在公开类似CityInfo GetCityInfo(int cityId)的方法,则输入类型将为int

什么是不可能的,就是在那里放置一个组合框,因为该服务是自动生成的,并且不知道哪些城市是可选择的。

你可以做的是,揭露几种方法并自己建立一个你自己(你应该做的)。

public interface IYourServiceInterface
{
    City[] GetCities(); // returns all possible cities

    CityInfo GetCityInfo(City city); // returns detail Infos about a concrete city
}