код для извлечения и возврата строковых данных базы данных на основе события onchange раскрывающегося списка через класс контроллера .net для формирования страницы с использованием ajax - PullRequest
0 голосов
/ 21 января 2019

C #, ASP.NET MVC, Ajax: -У меня есть страница формы, где есть раскрывающийся список, показывающий имена клиентов из таблицы клиентов базы данных. Основываясь на выборе клиента, передавая идентификатор клиента в таблицу базы данных, я хочу получить его Идентификатор электронной почты и контактный номер и отображать его в форме только для чтения. Текстовые поля. Моя проблема в том, что код контроллера не работает. Другими словами, я не могу проверить, достигает ли идентификатор функции контроллера для получения данных, а запрос выполняется или нет .Я получаю данные функции ошибки на странице формы

Мой код JQuery, как показано ниже

CustomerList1 - это идентификатор выпадающего списка

var cusKey для хранения идентификатора клиента

GetCustmrDetails - это функция моего контроллера для извлечения данных на основе идентификатора

$("#CustomerList1").change(function (event) {
        var cusKey = $("#CustomerList1").val();
        alert("customerKey:" + cusKey);
        $.ajax({
              type: 'GET',
              url: "/CustomerController/GetCustmrDetails/",
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              data: JSON.stringify({ "id": cusKey }),
            success: function (data) {
                alert("available");
                $("#EMailAddress").val(data.EMailAddress);
                $('#Phone').val(data.Phone);
            },
            error: function () {
                alert("error");
            }
        });
    });

Код моего контроллера:

[HttpGet]
    public ActionResult GetCustmrDetails(int id)
    {

        List<CustomerModel> customer = new List<CustomerModel>();
        string query = string.Format("Select EMailAddress,Phone From 
        OC_Customer where CustomerKey="+id);
        SqlConnection connection = new SqlConnection(connectionString);
        {
            using (SqlCommand cmd = new SqlCommand(query, connection))
            {
                connection.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    customer.Add(new CustomerModel{
                        EMailAddress = reader["EMailAddress"].ToString(),
                        Phone = reader["Phone"].ToString()
                    });
                }
            }
            return Json(customer, JsonRequestBehavior.AllowGet);
        }
}

Я хочу, чтобы идентификатор электронной почты и контактный номер отображались на странице формы (cshtml)

1 Ответ

0 голосов
/ 21 января 2019

пожалуйста, используйте этот

  $("#CustomerList1").change(function (event) {
    var cusKey = $(this).val();
    alert("customerKey:" + cusKey);
    $.ajax({
        type: 'GET',
        url: "/Customer/GetCustmrDetails?id="+cusKey,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: "{}",
        success: function (data) {
            alert("available");
            $("#EMailAddress").val(data[0].EMailAddress); 
            $('#Phone').val(data[0].Phone);
        },
        error: function () {
            alert("error");
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...