我已經寫了一個簡單的Web服務,允許我插入到我的SQL DB(工作正常),並從我的SQL DB(目前不工作)檢索信息。我試圖將信息放入列表中,然後將該信息顯示在通用Windows應用程序的列表框中。此登錄我:從WebService LINQ查詢填充列表框
WEB SERVICE
[OperationContract]
List<TBL_My_Info> FindInfo(string uid);
public List<TBL_My_Info> FindInfo(string uid)
{
DataClasses1DataContext context = new DataClasses1DataContext();
var res = from r in context.TBL_My_Info where r.User_Name == uid select r;
return res.ToList();
}
通用web應用
private void btnView_Click(object sender, RoutedEventArgs e)
{
string s = txtNameFind.Text;
this.Content = new Page1(s);
}
public Page1(string s)
{
this.InitializeComponent();
LoadData(s);
}
private async void LoadData(string s)
{
var client = new ServiceReference1.Service1Client();
var res = await client.FindMyInfoAsync(s);
articleMyInfoListBox.ItemsSource = res;
}
XAML
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ListBox x:Name="articleMyInfoListBox"></ListBox>
</Grid>
我知道我需要像myListBox.ItemSource = res;
這樣的東西,但res在ItemSource
之後沒有顯示爲選項。我使用using myapp.ServiceReference1;
引用了我的Web服務。
因此,在短期,我所希望做的是填充列表框的信息返回的列表,瞭解這些信息是從Web服務來....
如果我這樣做的錯誤的方式,並有更好的方式,請讓我知道。我對LINQ沒有任何經驗,但對SQL有一定的經驗。所以,當然,SQL將是可取的..
編輯
我目前得到這回在我的列表框
using InsertAppTest.ServiceReference1.TBL_My_Info;
好了,我調試的代碼將您的建議在後,以及在將數據通過「res」變量,但不顯示它在列表框中。相反,在列表框中,它顯示我在頁面頂部使用的語句「using myapp.ServiceReference1」,並將該表添加到using語句的末尾......因此,在整個列表框中都返回這個「使用myapp.ServiceReference1.TBL_My_Info」...我將在上面發佈更新後的代碼,以及列表框的xaml。有什麼建議? – Code
我只是將編輯添加到我的問題 – Code
當它呈現時,您的列表框的內容實際上是字符串「using myapp.ServiceReference1.TBL_My_Info」?這沒有意義。您是否將列表框的DisplayMemberPath屬性設置爲TBL_My_Info類中屬性的名稱? – alexchardin