Member 12926744 Ответов: 1

Передача параметров из формы windows в веб-службу на языке C#


Всем Привет,
У меня есть форма windows с некоторыми текстовыми полями и выпадающими списками, а также gridview.Datagrid in привязывается с помощью хранимой процедуры из веб-службы.Веб - служба добавляется в другое веб-приложение.Я добавил веб-ссылку. Но я не знаю, как передать параметры из формы windows в веб-службу. Пожалуйста, помогите мне.Я новичок в c#.Заранее спасибо.

Поправьте меня, если я сделал что-то не так в своем коде, так как я новичок в c#.

Что я уже пробовал:

 private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                string productname = "All", FromDate = dateTimePicker1.Text, Todate = dateTimePicker2.Text, IN02 = "All", IN01 = "All", IN04 = "All", Type = "All";
                if (txt_product.Text.Trim() != "")
                {
                   productname = txt_product.Text.Trim();
                }
                if (ddl_pa.SelectedValue.ToString().Trim() != "")
                {
                    IN02 = ddl_pa.SelectedValue.ToString().Trim();
                }
                if (ddl_Pr.SelectedValue.ToString().Trim() != "")
                {
                    IN01 = ddl_Pr.SelectedValue.ToString().Trim();
                }
                if (txt_batn.Text.Trim() != "")
                {
                    IN04 = txt_batn.Text.Trim();
                }
                if (ddl_Type.SelectedValue.ToString().Trim() != "")
                {
                   Type = ddl_Type.SelectedValue.ToString().Trim();
                }
                productdata.product  productservice = new productdata.product();
//here I need to call the the web method and pass parameters
}
 catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }



Это мой веб-метод


[WebMethod]
  public DataSet GetData(string productname, string FromDate, string Todate, string IN02, string IN01, string IN04, string Type)
    {
        DataSet ds = objcon.GetDataSet("exec SP0128");
        return ds;

    }

1 Ответов

Рейтинг:
1

L Viljoen

Сначала вам нужно создать ссылку на службу из вашего приложения winform в visual Studio щелкните правой кнопкой мыши на вашем проекте и выберите > Добавить ссылку на службу

Оттуда вы помещаете адрес вашего сервиса (url) в текстовое поле адрес , и вы можете получить методы на сервисе , дать вашему сервису собственное имя , используя поле внизу, а затем нажмите кнопку ОК, это создаст библиотеки для вас, чтобы взаимодействовать с вашим сервисом.

Тогда вы можете использовать
Servicenamespace-это имя, указанное вами при добавлении ссылки на службу.
servicenamespace.Клиент клиент = новое пространство имен служб.Клиент();
клиент.метод GetData(.......);


Сноска:
Имейте в виду , что ваш веб-метод в коде, указанном выше, ничего не делает с анализируемыми ему переменными, я бы настоятельно рекомендовал прочитать о EntityFramework для взаимодействия с базами данных.

При сравнении строк не используйте == или != , а используйте .Equals(""); его гораздо более гибкие и близкие методы и для проверки пустых строк используют string.IsNullOrEmpty("Stringvalue");