0

У меня есть хостинг приложений MVC 2 на сервере IIS6. Я уже сделал все настройки маршрутизации, чтобы он мог просматривать в среде. Однако проблема заключается в том, что у меня есть аспект динамического частичного представления, где частичный просмотр загружается при каждом нажатии кнопки добавления. Используя Javascript и контроллер, я вызываю partial vie и каждый раз добавляю его в таблицу.Asp.net MVC 2 Ошибки производства

Javascript Код

<script type="text/javascript"> 

$(function() { 
    $("#btnAdd").click(function (e) { 
     var itemIndex = $("#container input.iHidden").length; 
     console.debug("itemIndex : "+itemIndex); 
     e.preventDefault(); 
     var URL = "/WorkOrder/NewItem/" +itemIndex; 
     $.get(URL,function(data){ 
      $("#container").append(data); 
     });   
    }); 
}); 

и контроллер

public ActionResult NewItem(int id) 
    { 
     var interest = new ItemModel { index = id }; 
     return View("_NewItem", interest); 
    } 

Довольно просто. Самое забавное, что он работает, когда в тестовой среде localhost, но как только я развертываю его для производства, функция btnAdd ничего не делает. После использования инструмента проверки отладки Network Detection я обнаружил, что сеть возвращает ошибку 404 для частичного представления.

Нужно ли мне еще больше настраивать таблицы маршрутизации, чтобы они распознавали режим маршрутизации, который я пытаюсь реализовать?

+1

начать просто. Является ли запуск javascript? нажмите на предупреждение, нажав кнопку и оттуда. Вы проверили консоль, чтобы узнать, публикуется ли какое-либо сообщение? – Botonomous

+0

javascript стреляет. Я вошел в элемент проверки и наблюдал за сетевой панелью, и он сообщает, что страница не может быть найдена каждый раз, когда нажимается кнопка. Я бы опубликовал фотографии, но у меня нет репутации для него – trevoirwilliams

ответ

1

Попробуйте использовать метод Url.Action вместо простого кодирования URI и передачи данных с использованием параметра данных.

Пример:

var URL = '<%= Url.Action("WorkOrder", "NewItem")%>'; 
$.get(URL, 
     {id: itemIndex} 
     function(data){ 
      $("#container").append(data); 
     }); 
+0

ok, теперь браузер имеет право разбирать литерал @Url. Строка действия. – trevoirwilliams

+0

Нет его нет ... интересно, если я вручную набираю URL-адрес http: // myserver/workOrder/NewItem/0, он загружает частичный вид. – trevoirwilliams

+0

lol my bad too, так привыкли использовать бритву, я забыл на тот момент, что я был в MVC 2 – trevoirwilliams