【问题标题】:WebServices Consumes JSON data with Silverlight 5WebServices 使用 Silverlight 5 使用 JSON 数据
【发布时间】:2015-03-25 14:31:49
【问题描述】:

首先,我使用的是 View-ModelsViews-Model,而且我是 Silverlight 的新手。

我想从 Internet 上的其他应用程序获取 JSON 数据并将其显示到网格中。

在 ViewModelPage 我有这个:

    public void SetBasicAuthHeader(WebRequest req, String userName, String userPassword)
    {
        string authInfo = userName + ":" + userPassword;
        authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
        req.Headers["Authorization"] = "Basic " + authInfo;
    }

    public void Request()
    {
        // create the http request
        HttpWebRequest httpWebRequest = WebRequest.CreateHttp("Myurl");
        httpWebRequest.Method = "GET";
        httpWebRequest.Accept = "application/json";
        SetBasicAuthHeader(httpWebRequest, "mylogin", "mypassword");


        // get the response asynchronously
        httpWebRequest.BeginGetResponse(OnGetResponseCompleted, httpWebRequest);
    }

    public void OnGetResponseCompleted(IAsyncResult ar)
    {
        var httpWebRequest = (HttpWebRequest)ar.AsyncState;

        // get the response
        var response = httpWebRequest.EndGetResponse(ar);

        // deserialize json
        var jsonSerializer = new DataContractJsonSerializer(typeof(Users));
        var responseObject = (ListUtilisateursRest)jsonSerializer.ReadObject(response.GetResponseStream());

        // display on the view
        Deployment.Current.Dispatcher.BeginInvoke();
    }

我还用这个创建了一个便携式库:

[DataContract]
public class Users
{
    [DataMember(Name = "Users")]
    private List<String> UsersList = new List<String>();
}

我知道我必须在“BeginInvoke”中添加一些东西才能将数据绑定到视图,但我不知道该怎么做,你能帮我吗?

谢谢,

【问题讨论】:

    标签: c# json web-services silverlight


    【解决方案1】:

    举个例子。

    1. 您获得了从其他人那里收到的用户列表。好的!
    2. 您在 XAML 中创建列表框,绑定到您的数据,这里是列表数据&lt;ListBox DataContext="{Binding Data}" &gt;&lt;/ListBox&gt;
    3. 您可以编辑生成的列表框项目模板,以定义每个用户在列表框上的显示方式。
    4. 不要忘记 INotifyPropertyChanged。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 2014-01-26
      相关资源
      最近更新 更多