【发布时间】:2014-06-30 06:02:25
【问题描述】:
我有一个供 Intranet 使用的 MVC 5 网站。在一个页面上有一个局部视图,显示下拉列表中选择的任何项目的一些详细信息。这一切都在开发中本地工作。但是,一旦我将站点部署到我们的内部 Web 服务器,它就不再这样做了。其他一切仍然有效,创建、编辑、删除、详细信息、索引以及加载在索引页面上的不同部分。
使用 AJAX 在创建页面上加载并与 Create.cshtml 位于同一文件夹中的此 Partial 不会。
想法?我什至不知道先看哪里……
这是在我的创建页面上,用于加载部分,这在本地开发中也很有效。
<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>
如果我使用有效的WONumber 手动将该 AJAX 中显示的 URL 输入到浏览器中,它会返回正确的数据。
这是在控制器中被调用的方法:
public PartialViewResult GetDetails(string WONumber)
{
var details = db.vwProductionOrderLookups.Where(x => x.No_ == WONumber).SingleOrDefault();
return PartialView("_ProductionOrderDetails", details);
}
编辑
所以,它似乎与URL路径有关。如果我更改它,在对ServerName/WetWashRequest/WetWashRequests/GetDetails 的 AJAX 调用中它可以工作。我猜,我部署错了,我应该在前面需要额外的WetWashRequest....
【问题讨论】:
-
您在控制台中收到任何消息吗?
-
您确定
GetDetails(string WONumber)method 正在返回有效的局部视图?您是否在$.get的成功函数中发出警报以验证它是否被调用? -
Web 服务器上的@Jonesy 控制台?我必须研究如何做到这一点。这里的小商店有很多帽子,有些我以前从未戴过...... :)
-
@GarySchreiner 在生产环境中,虽然我 100% 肯定相同的代码在从我的机器上运行而不是从 Web 服务器上运行时,但我不能确定相同的代码是否有效。
-
查看浏览器上的其他开发工具并找到控制台。它会告诉你发生了什么。我 99% 确定它在您的产品服务器上构建了错误的 URL
标签: c# .net ajax asp.net-mvc-5 asp.net-mvc-partialview