Asp.net mvc 为什么这篇文章在VS中有效,但在发布时无效?
在VS中,这很好:Asp.net mvc 为什么这篇文章在VS中有效,但在发布时无效?,asp.net-mvc,jquery,Asp.net Mvc,Jquery,在VS中,这很好: http://x.x.x.x/Order/DeleteLineItem?id=c709d018-fd55-442c-9e0d-0826f98cf368 但是,当发布并运行应用程序时,它返回404错误 它正在发布到IIS 7.5。应用程序的所有其他部分都工作正常,只是那些带有ID的链接出现了故障 但奇怪的是,在VisualStudio中,FireFox和IIS都可以正常工作。但在VS之外,它们都给出相同的错误消息 我已经在服务器上直接运行了它,以获取任何额外的错误信息,但它只
http://x.x.x.x/Order/DeleteLineItem?id=c709d018-fd55-442c-9e0d-0826f98cf368
但是,当发布并运行应用程序时,它返回404错误
它正在发布到IIS 7.5。应用程序的所有其他部分都工作正常,只是那些带有ID的链接出现了故障
但奇怪的是,在VisualStudio中,FireFox和IIS都可以正常工作。但在VS之外,它们都给出相同的错误消息
我已经在服务器上直接运行了它,以获取任何额外的错误信息,但它只显示404
这对我来说毫无意义。我还应该做些什么来调试它吗?在这一点上,应用程序对于404类型的错误没有任何错误处理
错误消息表示处理程序为“StaticFile”,错误代码为:0x80070002
更新
问题是JQuery调用的URL缺少站点名称
这就是成功的原因:
$.ajax({
url: "/PropertySearch/Order/EditLineItem",
data: { id: dataItem.id },
dataType: 'html',
success: function (data) {
$('#content').html(data); //
}
一个可能的原因是您发布到的环境需要SSL,并且您使用的是http而不是https 另一种可能是ASP.NET MVC未在部署环境中正确注册/配置。错误消息是否表明它正在使用StaticFile处理程序?您是否尝试过使用Phil Haack的路由调试器来了解发生了什么
需要更多的信息来帮助解决这个问题。您甚至还没有说明要发布到哪个web服务器。是的,您是对的,我添加了更多数据。您的ID是否与生产数据库中实际存在的项匹配?能否添加路由定义,以及DeleteLineItem操作方法代码?将签出路由调试器。所有其他MVC视图都正常显示,只有ID的视图。可能是因为我使用Guid作为ID。我不明白为什么这会有什么不同,但这毫无意义。在这种情况下不使用SSL。我相当肯定MVC在应用程序启动、运行和浏览许多局部视图时安装正确。只有当它到达使用GUID的控制器操作时,才会出现问题。我将尝试切换到int-id。