Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 为什么这篇文章在VS中有效,但在发布时无效?_Asp.net Mvc_Jquery - Fatal编程技术网

Asp.net mvc 为什么这篇文章在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之外,它们都给出相同的错误消息 我已经在服务器上直接运行了它,以获取任何额外的错误信息,但它只

在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。