【发布时间】:2013-03-26 16:43:05
【问题描述】:
请看下面的截图。我正在从控制器返回 Json 结果以填充级联下拉列表。当从 Visual Studio 运行时,该应用程序运行良好,但从 iis 服务器运行时,下拉菜单根本不会被过滤(抛出 404)。我真的很困惑。任何帮助,将不胜感激。谢谢。
图中,上图是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 ajax 调用。这将有助于回答这个问题
-
你在什么操作系统上运行什么版本的 IIS?
-
我已按要求包含了代码。 IIS 在 windows 2008 server R2 上运行。谢谢
标签: jquery asp.net-mvc json iis asp.net-mvc-4