Использование ajax с функцией автозаполнения
Цитата:кто-нибудь знает, как я могу получить имя устройства из хранимой процедуры, когда пользователь вводит определенный символ, например G, и он должен показать имя, основанное на букве G. Кстати, в настоящее время я использую метод POST для извлечения имени устройства из базы данных
////db.cs
использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование системы.Сеть;
использование System.Data;
используя системы.Данных.Поставщики sqlclient;
использование системы.Конфигурация;
пространство имен Prototype3.Database_Access_Data
{
открытый класс дБ
{
SqlConnection con = newSqlConnection(ConfigurationManager.ConnectionStrings["localhost"].Параметр connectionString);
общественного недействительными торговая(расположение в CS)
{
SqlCommand com = new SqlCommand("SendGPS", con);
ком.CommandType = CommandType.Хранимая процедура;
ком.Параметры.AddWithValue("@DeviceImei", cs.DeviceImei);
ком.Параметры.AddWithValue ("@Latitude", cs.Latitude);
ком.Параметры.AddWithValue("@долгота", cs.долгота);
ком.Параметры.AddWithValue("@Distance", cs.Distance);
ком.Параметры.AddWithValue("@LocationSend", cs.LocationSend);
против.Открыть();
ком.Подключение = кон;
ком.Метод executenonquery();
против.Закрывать();
}
общественные объект DataTable LocationHistory(LocationHistory в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("GetLocationHistory", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Добавить(новый SqlParameter("DeviceImei", cs.DeviceImei));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
//Обрабатывайте ошибки так, как считаете нужным
}
}
возврат dt;
}
публичный набор данных GetUser()
{
SqlCommand com = new SqlCommand("GetUser", con);
ком.CommandType = CommandType.Хранимая процедура;
SqlDataAdapter da = новый SqlDataAdapter(com);
DataSet ds = новый набор данных();
да.Заполнить(ДС);
возврат ДС;
}
общественного недействительными SendDistance(расположение в CS)
{
SqlCommand com = new SqlCommand("SendDistance", con);
ком.CommandType = CommandType.Хранимая процедура;
ком.Параметры.AddWithValue("@DeviceImei", cs.DeviceImei);
ком.Параметры.AddWithValue("@Distance", cs.Distance);
ком.Параметры.AddWithValue("@LocationSend", cs.LocationSend);
против.Открыть();
ком.Подключение = кон;
ком.Метод executenonquery();
против.Закрывать();
}
общественные объект DataTable FlagingDevice(FlagingDevice в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("FlagingDevice", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Добавить(новый SqlParameter("Login", cs.Login));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
//Обрабатывайте ошибки так, как считаете нужным
}
}
возврат dt;
}
общественные объект DataTable SearchByOfficerName(SearchHistory в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("SearchByOfficer", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Добавить(новый SqlParameter("Name", cs.Name));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("StationID", cs.StationID));
программа sqlcmd.Параметры.Добавить(новый SqlParameter ("ID", cs.DivisionID));
программа sqlcmd.Параметры.Добавить(новый объект sqlparameter("Имя_устройства", КС.Имя_устройства));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
//Обрабатывайте ошибки так, как считаете нужным
}
}
возврат dt;
}
общественные объект DataTable SearchByDeviceName(SearchHistory в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("SearchByDeviceName", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Добавить(новый SqlParameter("Name", cs.OfficerName));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("StationID", cs.StationID));
программа sqlcmd.Параметры.Add(new SqlParameter("DivisionID", cs.DivisionID));
программа sqlcmd.Параметры.Добавить(новый объект sqlparameter("Имя_устройства", КС.Имя_устройства));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("BoxID", cs.BoxID));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
//Обрабатывайте ошибки так, как считаете нужным
}
}
возврат dt;
}
общественные объект DataTable SearchByElectoralDivision(SearchHistory в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("SearchByElectoralDivision", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Add(new SqlParameter("DivisionID", cs.DivisionID));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("Name", cs.Name));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("StationID", cs.StationID));
программа sqlcmd.Параметры.Добавить(новый объект sqlparameter("Имя_устройства", КС.Имя_устройства));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
//Обрабатывайте ошибки так, как считаете нужным
}
}
возврат dt;
}
общественные объект DataTable SearchByPollingStation(SearchHistory в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("SearchByPollingStation", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Добавить(новый SqlParameter("StationID", cs.StationID));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("OfficerName", cs.OfficerName));
программа sqlcmd.Параметры.Add(new SqlParameter("DivisionID", cs.DivisionID));
программа sqlcmd.Параметры.Добавить(новый объект sqlparameter("Имя_устройства", КС.Имя_устройства));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
//Обрабатывайте ошибки так, как считаете нужным
}
}
возврат dt;
}
public void SendBox(Box cs)
{
SqlCommand com = new SqlCommand("SendBox", con);
ком.CommandType = CommandType.Хранимая процедура;
ком.Параметры.AddWithValue("@Id", cs.Id);
ком.Параметры.AddWithValue ("@StationID", cs.PollingStationID);
ком.Параметры.AddWithValue("@DeviceImei", cs.DeviceImei);
против.Открыть();
ком.Подключение = кон;
ком.Метод executenonquery();
против.Закрывать();
}
публичный набор данных FlagingDeviceWithoutParameters()
{
SqlCommand com = new SqlCommand("FlagingDevice(без параметров)", con);
ком.CommandType = CommandType.Хранимая процедура;
SqlDataAdapter da = новый SqlDataAdapter(com);
DataSet ds = новый набор данных();
да.Заполнить(ДС);
возврат ДС;
}
общественные объект DataTable SearchByBox(SearchHistory в CS)
{
DataTable dt = новый DataTable();
используя (sqlcommand, который программа sqlcmd = новая команда sqlcommand("SearchByBox", кон))
{
программа sqlcmd.CommandType = CommandType.Хранимая процедура;
программа sqlcmd.Параметры.Добавить(новый объект sqlparameter("Имя_устройства", КС.Имя_устройства));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("StationID", cs.StationID));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("ElectoralDivisionID", cs.ElectoralDivisionID));
программа sqlcmd.Параметры.Добавить(новый SqlParameter("OfficerName", cs.OfficerName));
пробовать
{
против.Открыть();
ДТ.Нагрузке(программа sqlcmd.ExecuteReader(CommandBehavior.Значение closeconnection));
}
catch (SqlException ex)
{
}
возврат dt;
}
}
}
}
///// ValuesController.cs
использование Prototype3.Database_Access_Data;
использование системы;
использование системы.Коллекции.Общий;
использование System.Data;
использование System.Linq;
использование System.Net;
используя системы.Нет.Протокол HTTP;
использование системы.Нарезание резьбы.Задачи;
используя системы.Веб.Протокол HTTP;
использование System.Web.Http.Description;
прототип пространства имен3.Контроллеры
{
публичный класс ValuesController : ApiController
{
Database_Access_Data.dblayer дБ = новый Database_Access_Data.дБ();
[HttpPost]
[Route("api/Values/SendLocation")]
общественные ihttpactionresult с торговая([FromBody]расположение в CS)
{
пробовать
{
if (!ModelState.Функция IsValid)
{
возврат BadRequest(ModelState);
}
dblayer.Торговая(КС);
возвращение " ОК " ("успех");
}
catch (исключение e)
{
возврат Ok("что-то пошло не так" + e);
}
}
[HttpPost]
[Route("api/Values/GetLocationHistory")]
public IHttpActionResult GetLocationHistory([FromBody]LocationHistory cs)
{
пробовать
{
if (!ModelState.Функция IsValid)
{
возврат BadRequest(ModelState);
}
таблица var = dblayer.LocationHistory(КС);
возвращение ОК(табл.);
}
catch (исключение e)
{
возврат Ok("что-то пошло не так" + e);
}
}
[HttpPost]
[Route("api/Values/SendDistance")]
public IHttpActionResult SendDistance([FromBody]Location cs)
{
пробовать
{
if (!ModelState.Функция IsValid)
{
возврат BadRequest(ModelState);
}
dblayer.SendDistance(КС);
возвращение " ОК " ("успех");
}
catch (исключение e)
{
возврат Ok("что-то пошло не так" + e);
}
}
[HttpGet]
[Route("api/Values/GetUser")]
публичный набор данных GetUser()
{
Набор данных ds = dblayer.Функций getUser();
возврат ДС;
}
[HttpPost]
[Route("api/Values/FlagingDevice")]
public IHttpActionResult FlagingDevice([FromBody]FlagingDevice cs)
{
пробовать
{
if (!ModelState.Функция IsValid)
{
возврат BadRequest(ModelState);
}
таблица var = dblayer.FlagingDevice(КС);
возвращение ОК(табл.);
}
catch (исключение e)
{
возврат Ok("что-то пошло не так" + e);
}
}
[HttpPost]
[Route("api/Values/SendBox")]
public IHttpActionResult SendBox([FromBody]Box cs)
{
пробовать
{
if (!ModelState.Функция IsValid)
{
возврат BadRequest(ModelState);
}
dblayer.SendBox(cs);
возвращение " ОК " ("успех");
}
catch (исключение e)
{
возврат Ok("что-то пошло не так" + e);
}
}
[HttpGet]
[Route("api/Values/FlagingDevice(WithoutParameters)")]
публичный набор данных FlagingDevice1()
{
Набор данных ds = dblayer.FlagingDeviceWithoutParameters();
возврат ДС;
}
}
}
Что я уже пробовал:
Я пытался найти решение в интернете, но безрезультатно.
F-ES Sitecore
Я не вижу никакого js в вашем текущем решении. Отформатируйте код правильно и сократите его только до соответствующих функций, а также включите свой js.