См. Скриншот ниже. Я возвращаю Json из контроллера, чтобы заполнить каскадный выпадающий список. Приложение работает отлично, когда запускается из визуальной студии, но выпадающее меню вообще не фильтруется (выбрасывает 404) при запуске с сервера iis. Я действительно смущен. Любая помощь будет оценена по достоинству. Благодарю.ASP.NET MVC - Проблема при получении ответа Json от IIS
На рис., Один сверху находится при запуске из VS, а нижний - при запуске из iis через интрасеть.
Я приложил приведенный ниже код в соответствии с запросом, но, как я уже упоминал выше, он отлично работает при работе с Visual Studio.
Контроллер
[HttpPost]
public JsonResult FilterByDivision(string divisionId)
{
try
{
using (ctx)
{
var SubDivResults = (from q in ctx.Test
where q.divId== divisionId
select new Models.SubDivisionDTO
{
SubDivID = q.subdivId,
SubDiv = q.SubDiv
}).Distinct().ToList();
ajaxLookup.SubDiv = SubDivResults;
}
JsonResult result = new JsonResult();
result.Data = ajaxLookup;
return result;
}
catch (Exception)
{
throw;
}
}
Jquery
// Фильтр по дивизиону
$(function() {
$("select#DivisionId").change(function (evt) {
if ($("select#DivisionId").val() != "-1") {
$.ajax({
url: "/AjaxDropDown/FilterByDivision",
type: 'Post',
data: { divisionId: $("select#DivisionId").val() },
success: function (data) {
var subDivItems = "<option value='" + "-1" + "'>" + "Please Select" + "</option>";
$.each(data.subDivisions, function (i, val) {
subDivItems += "<option value='" + val.subDivId + "'>" + val.subDivName + "</option>";
});
$("select#subDivId").empty().html(subDivItems);
}
});
}
});
});
Вы можете предоставить код C#, обрабатывающий запрос, а также сделанный вами javascript-айхакс-вызов. это поможет ответить на этот вопрос – iAmClownShoe
Какая версия IIS работает на какой ОС? – Rob
Я включил код в соответствии с запросом. IIS работает на сервере Windows 2008 R2. Спасибо – Ren