部署视图在部署后不加载

时间:2014-05-12 18:40:08

标签: c# .net ajax asp.net-mvc-5 asp.net-mvc-partialview

我有一个用于Intranet的MVC 5网站。在一个页面上有一个部分视图,显示在下拉列表中选择的任何项目的一些细节。这一切都在开发中本地工作。但是,一旦我将站点部署到内部Web服务器,它就不再存在了。其他所有内容仍然存在,创建,编辑,删除,详细信息,索引以及在索引页面上加载的其他部分。

使用AJAX在“创建”页面上加载并且与Create.cshtml位于同一文件夹中的此“部分”不会。

思考?我甚至不确定在哪里先看这里......

这是在我的“创建”页面上,是加载“部分”的内容,再次在本地开发时效果很好。

<script type="text/javascript">
    $(function () {
        $("#ProductionOrder").change(function () {
            var po = $("#ProductionOrder").val().toString();
            $.get('/wetWashRequests/GetDetails?WONumber=' + po, function (data) {
                $('#ProductionOrderDetails').html(data);
                $('#ProductionOrderDetails').fadeIn('fast');
            });
        })
    })
</script>

如果我手动将AJAX中显示的URL输入到有效WONumber的浏览器中,则会返回正确的数据。

这是在Controller中调用的方法:

public PartialViewResult GetDetails(string WONumber)
    {            
        var details = db.vwProductionOrderLookups.Where(x => x.No_ == WONumber).SingleOrDefault();
        return PartialView("_ProductionOrderDetails", details);
    }

修改

因此,它似乎与URL路径有关。如果我改变它,在AJAX调用ServerName/WetWashRequest/WetWashRequests/GetDetails然后它工作。我猜测,我错误地部署了它,我应该在前面需要额外的WetWashRequest ....

1 个答案:

答案 0 :(得分:0)

这很可能是因为您将开发和生产环境放在不同的文件夹中。最大的问题是你使用相对(使用/ first)或绝对(包括前面的服务器名称)。根据您的环境,确保/ wetWashRequests文件夹或API位于顶层,因为这是Web客户端正在寻找的内容。