0

http://www.webservicex.com/CurrencyConvertor.asmx?wsdlでCurrencyConverterを使用したいと思います。しかし、それは機能していません。ドロップダウンリストメニューには何も表示されません。

これが私のコードです:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using com.webservicex.www;

public partial class cc : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        //using web service at http://www.webservicex.com/CurrencyConvertor.asmx?wsdl
        double rate = 0, result = 0;
        Currency curr1, curr2;
        try
        {
            CurrencyConvertor ws = new CurrencyConvertor();
            curr1 = (Currency)Enum.Parse(typeof(Currency), DropDownList1.SelectedItem.Value);
            curr2 = (Currency)Enum.Parse(typeof(Currency), DropDownList2.SelectedItem.Value);
            rate = ws.ConversionRate(curr1, curr2);
            result = System.Convert.ToDouble(TextBox1.Text) * rate;
            Label2.Text = "The exchange rate between" + DropDownList1.SelectedItem.Text + " and " + DropDownList2.SelectedItem.Text + " is " + rate;
            Label3.Text = "Converted " + TextBox1.Text + " to " + result;
        }
        catch
        {
            Label2.Text = "Web service not available please try again later."; 
        }
    }
}

ありがとう

4

1 に答える 1

0

ドロップダウン メニューを表示するたびに Web サービスを呼び出さないようにすることをお勧めします。通貨の選択は、頻繁に変更されることはありません。(とにかく、エラーに対処する準備をする必要があります。)

むしろ、利用可能なデータを事前にダウンロードし、ドロップダウン リストのバッキングに適した XML ファイルに保存します。

<Currencies>
     <currency Name="EUR" />
     <currency Name="RUB" />

次に、ASP.NET コードを次のようにします。

<asp:XmlDataSource ID="XmlDataSource1" runat="server"
        DataFile="~/Currencies.xml">
</asp:XmlDataSource>
<asp:DropDownList ID="DropDownList1" runat="server"
        DataSourceID="XmlDataSource1" DataTextField="Name" DataValueField="Name">
</asp:DropDownList>
于 2012-05-16T22:19:07.303 に答える