简体   繁体   中英

Passing combobox selected value to WCF to get data from a silverlight 5 Pivot Viewer Client

I have a combobox which has a list of all brands, I need to pass this selected value of the combo box to the wcf service named service1.svc. I am not able to understand how I can pass the selected item as parameter to the service. Could you guys please help me out. Thanks

My service reference is as follows

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; 
    }


}

}

My mainpage.xaml.cs is as follows

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());

    }



}

}

I get Object reference not set to an instance of an object. at var proxy = new Service1Client(selectedItem.ToString());

var proxy = new Service1Client();

proxy.GetAllEmployeesCompleted += proxy_GetAllEmployeesCompleted;
proxy.GetAllEmployeesAsync(selectedItem.ToString());

If you get compiler errors on the last line, you need to update your service proxy. Right-click your service reference and select what's closest to "Update" in your IDEs language.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM