部分视图在部署后没有加载

本文关键字:加载 部署 视图 | 更新日期: 2023-09-27 18:02:52

我有一个内部网使用的MVC 5网站。在一个页面上有一个局部视图,它显示了下拉列表中所选项目的一些详细信息。这些都适用于本地开发。然而,一旦我将站点部署到我们的内部Web服务器上,它就不再这样做了。其他的一切都一样,创建、编辑、删除、详细信息、索引,以及在索引页面上加载的不同的部分。

这个Partial,使用AJAX在Create页面上加载,并且位于与Create.cshtml相同的文件夹中,没有。

想法吗?我甚至不确定从哪里开始看……

这是在我的创建页面,是什么加载局部,这再次在本地Dev工作得很好。

<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的浏览器中,它将返回正确的数据。

这是在控制器中被调用的方法:

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 ....

部分视图在部署后没有加载

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