【问题标题】:Read from web service从 Web 服务读取
【发布时间】:2014-03-25 11:43:58
【问题描述】:

我有这个网络服务

http://currencies.apps.grandtrunk.net/currencies

如何在 Visual Studio 2010 的 void page_load 函数中打开它并查看其数据?

对不起,我是 ASP.net 的初学者。

【问题讨论】:

  • @elolos 编辑不合适,这个问题中没有特定于 webforms 的内容。需要此代码的地方(Page_Load)不会改变答案,因此没有理由添加该标签。还要尝试改进,而不仅仅是添加单个标签,例如拼写。
  • @CodeCaster 这肯定是相关的,因为页面加载事件特定于 webforms,而不是例如 mvc。这使得在比 asp.net 更具体的标签下更容易找到这个问题。另外,我肯定会随标签一起更改几个拼写错误,但是由于 6 个字符的限制,这是不可能的。
  • @elolos 再次阅读了我评论的第二句话。如果您找不到足够的内容来修复帖子,那么编辑可能还是太小了。

标签: asp.net visual-studio-2010 c#-4.0


【解决方案1】:

这并不是真正的 Web 服务,它似乎是通过 HTTP 提供的文本文件中的换行符分隔值。

只需使用 HttpClient 下载数据并在换行符上拆分结果。

【讨论】:

  • 我无法正确执行,请您添加获取数据的 httpclient 代码 :)
  • 你说得对,它不是真正的网络服务,我使用 HttpWebRequest HttpWebResponse 来获取数据,httpclient 仅适用于 4.5 框架
【解决方案2】:

在页面加载事件中

            if(!IsPostBack)
            { 

            System.Net.WebClient client = new System.Net.WebClient();

            string data = client.DownloadString("http://currencies.apps.grandtrunk.net/currencies");


            List<string> data1 = data.Split('\n').ToList();
            DropDownList1.DataSource = data1;
            DropDownList1.DataBind();
            }

下拉索引更改事件

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selectedIndex = DropDownList1.SelectedIndex;
            string selectedValue = DropDownList1.SelectedValue;
            string selectedText = DropDownList1.SelectedItem.Text;
        }

在下拉控件属性中添加 AutoPostBack 事件

谢谢 贾伊

【讨论】:

    【解决方案3】:

    你可以使用WebClient ClassDownloadString方法

    using (var client = new WebClient())
      {    
           var list = client.DownloadString("http://currencies.apps.grandtrunk.net/currencies");    
           var values= list.Split(Convert.ToChar("\n"));
      }
    

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多