C# MVC局部视图在IIS7上托管后不会显示,但会在VS2012开发环境中显示

C# MVC局部视图在IIS7上托管后不会显示,但会在VS2012开发环境中显示,c#,ajax,asp.net-mvc-4,visual-studio-2012,C#,Ajax,Asp.net Mvc 4,Visual Studio 2012,我最近开始在VisualStudio2012中使用MVC4 我有一个HomeController,它有一个强类型的HomeView,在这个HomeView中,我有一个局部视图,当用户从DropDownList中进行选择时,会显示该局部视图,该局部视图由一个ajax帖子显示到一个WCF web服务。在我的开发环境中,这一切都可以很好地工作,但是一旦我将我的项目上传到IIS,当从下拉列表中进行选择时,什么都不会发生,我打开了开发控制台,我得到了以下错误 404-找不到文件或目录。您正在查找的资源 可

我最近开始在VisualStudio2012中使用MVC4

我有一个HomeController,它有一个强类型的HomeView,在这个HomeView中,我有一个局部视图,当用户从DropDownList中进行选择时,会显示该局部视图,该局部视图由一个ajax帖子显示到一个WCF web服务。在我的开发环境中,这一切都可以很好地工作,但是一旦我将我的项目上传到IIS,当从下拉列表中进行选择时,什么都不会发生,我打开了开发控制台,我得到了以下错误

404-找不到文件或目录。您正在查找的资源 可能已被删除、名称已更改或暂时 不可用

我读了很多帖子,对我的服务器进行了更改,在我的web.config中添加了以下内容

<modules runAllManagedModulesForAllRequests="true"></modules>

我只是不明白为什么它能在我的开发环境中工作,但一旦它被上传到我的服务器上就不行了。

这是因为在IIS上,它找不到你的部分视图文件

改用@Url.Action

$('#ddlAudits').change(function () {
    var a = $(this);
    var b = $('#ddlAccounts')
    $.ajax({
        url: '@Url.Action("Audits","Home")',
        type: 'post',
        data: { 'AuditID': a.val(), 'AccountID': b.val() },
        datatype: 'html',
        success: function (result) { 
            $('#DivAccounts').html(result).enhanceWithin();
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
            alert(result);
        }
     });
});
请尝试url:“/Home/Audits”,
$('#ddlAudits').change(function () {
    var a = $(this);
    var b = $('#ddlAccounts')
    $.ajax({
        url: 'Home/Audits',
        type: 'post',
        data: { 'AuditID': a.val(), 'AccountID': b.val() },
        datatype: 'html',
        success: function (result) { 
            $('#DivAccounts').html(result).enhanceWithin();
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
            alert(result);
        }
     });
});

$('#ddlAccounts').change(function () {
    var a = $('#ddlAudits');
    var b = $(this)
    $.ajax({
        url: 'Home/Audits',
        type: 'post',
        data: { 'AuditID': a.val(), 'AccountID': b.val() },
        datatype: 'html',
        success: function (result) { 
            $('#DivAccounts').html(result).enhanceWithin(); 
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
            alert(result);
        }
    });
});
$('#ddlAudits').change(function () {
    var a = $(this);
    var b = $('#ddlAccounts')
    $.ajax({
        url: '@Url.Action("Audits","Home")',
        type: 'post',
        data: { 'AuditID': a.val(), 'AccountID': b.val() },
        datatype: 'html',
        success: function (result) { 
            $('#DivAccounts').html(result).enhanceWithin();
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
            alert(result);
        }
     });
});