모든 브랜드 목록이있는 콤보 상자가 있습니다. 선택한 콤보 상자 값을 service1.svc라는 wcf 서비스에 전달해야합니다. 선택한 항목을 매개 변수로 서비스에 전달하는 방법을 이해할 수 없습니다. 제발 도와 주 시겠어요? 감사
내 서비스 참조는 다음과 같습니다.
namespace SilverlightApplication2.Web {
public class Service1
{
[OperationContract]
public ObservableCollection<Employee> GetAllEmployees(string brandID)
{
var emps = new ObservableCollection<Employee>();
string connect = ConfigurationManager.ConnectionStrings["yoyo"].ToString();
using(var con = new OdbcConnection(connect))
{
string query = "Select new,brand,imagelink FROM pivottable WHERE brand='"+brandID+"'";
var cmd = new OdbcCommand(query, con);
con.Open();
using (var dr = cmd.ExecuteReader())
{
while(dr.Read())
{
var emp = new Employee();
emp.EmployeeID = dr.GetInt32(0);
emp.FirstName = dr.GetString(1);
emp.ImageURI = new Uri(dr.GetString(2));
emps.Add(emp);
}
}
}
return emps;
}
}
}
내 mainpage.xaml.cs는 다음과 같습니다.
namespace SilverlightApplication2 {
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
object selectedItem = Combobox.SelectedItem;
var proxy = new Service1Client(selectedItem.ToString());
// var proxy = new Service1Client();
proxy.GetAllEmployeesCompleted += proxy_GetAllEmployeesCompleted;
proxy.GetAllEmployeesAsync();
var proxytwo = new Service1Client();
proxytwo.GetAllBrandsCompleted += proxytwo_GetAllBrandsCompleted;
proxytwo.GetAllBrandsAsync();
}
void proxytwo_GetAllBrandsCompleted(object sender, GetAllBrandsCompletedEventArgs f)
{
Combobox.ItemsSource = f.Result;
}
void proxy_GetAllEmployeesCompleted(object sender,GetAllEmployeesCompletedEventArgs e)
{
Pivot.ItemsSource = e.Result;
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
object selectedItem = Combobox.SelectedItem;
MessageBox.Show("Selected item is" +selectedItem.ToString());
}
}
}
개체 참조가 개체의 인스턴스로 설정되지 않았습니다. var proxy = new Service1Client (selectedItem.ToString ());에서
var proxy = new Service1Client();
proxy.GetAllEmployeesCompleted += proxy_GetAllEmployeesCompleted;
proxy.GetAllEmployeesAsync(selectedItem.ToString());
마지막 줄에서 컴파일러 오류가 발생하면 서비스 프록시를 업데이트해야합니다. 서비스 참조를 마우스 오른쪽 단추로 클릭하고 IDE 언어에서 "업데이트"에 가장 가까운 것을 선택하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다