Выпадающий список Mvc работает локально, но не при публикации на сервере azure server
У меня есть представление с модальным всплывающим окном, которое содержит выпадающий список. Когда я тестирую на своем локальном сервере IIS, страница работает правильно, но когда я публикую страницу на сервере Azure, выпадающий список не заполняется.
Это контроль на мой взгляд:
<label class="control-label col-md-2"> Customer </label> <div class="col-md-8"> <select id="customer" name="customer" class="form-control"> <option>Customer</option> </select>
Это и есть сценарий:
//Load Customer Drop Down list var NCustomers = [] function LoadCustomer(element) { if (NCustomers.length === 0) { //ajax function for fetch data $.ajax({ type: "GET", url: '/NYCHWebApp/PendingOrders/GetCustomers', // '@Url.Action("GetCustomers", "PendingOrders")', success: function (data) { NCustomers = data; //render customers renderCustomers(element); } }) } else { //render customer to the element renderCustomers(element); } } function renderCustomers(element) { var $ele = $(element); $ele.empty(); $ele.append($('<option />').val('0').text('Select')); $.each(NCustomers, function (i, val) { $ele.append($('<option />').val(val.CustomerName).text(val.CustomerName)); }) }
Это метод в контроллере:
public JsonResult GetCustomers() { List<Customer> NYHCCustomers = new List<Customer>(); //using (MyDatabaseEntities dc = new MyDatabaseEntities()) { NYHCCustomers = db.Customers.OrderBy(a => a.CustomerName).ToList(); } return new JsonResult { Data = NYHCCustomers, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; }
Что я уже пробовал:
У меня был сценарий в файле, и я переместил его в представление, но не изменил. Проблема, по-видимому, заключается в вызове контроллера.
F-ES Sitecore
Используйте вкладку Сеть инструментов браузера (f12), чтобы убедиться, что вызов ajax выполнен, и если это так, посмотрите на результирующий код и данные, которые могут дать вам представление о том, почему метод не удался.
Richard Deeming
url: '/NYCHWebApp/PendingOrders/GetCustomers', // '@Url.Action("GetCustomers", "PendingOrders")',
Это выглядит вероятным подозреваемым. В Azure ваше приложение, вероятно, не находится по адресу
/NYCHWebApp/
.Комментируемое-вне
Url.Action
вызов должен выдать правильный URL-адрес. Я думаю, вы прокомментировали это, когда перенесли сценарий в a .js
файл. Теперь, когда вы переместили его обратно в представление, попробуйте снова раскомментировать его.url: '@Url.Action("GetCustomers", "PendingOrders")',
Wes Will Be The Best
Вот и все. Спасибо.