Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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 3 FTP部署了Microsoft MVC3网站。后协议ISN';不起作用。获取协议正在工作_Asp.net Mvc 3_Post_Web Config_Web Deployment - Fatal编程技术网

Asp.net mvc 3 FTP部署了Microsoft MVC3网站。后协议ISN';不起作用。获取协议正在工作

Asp.net mvc 3 FTP部署了Microsoft MVC3网站。后协议ISN';不起作用。获取协议正在工作,asp.net-mvc-3,post,web-config,web-deployment,Asp.net Mvc 3,Post,Web Config,Web Deployment,我正在使用MicrosoftMVC3开发一个网站,并在默认MVC3应用程序模板的基础上构建了它。它访问外部数据库并在本地主机上工作 我已经使用ftp方法通过发布工具将其部署到从storminternet租用的共享服务器上(storminternet尚不支持web部署),并且运行良好。它可以正常访问数据库,并使请求正常工作 但是,通过POST协议提交的任何表单都会返回page not found错误404(这是关于我断言[HttpPost]的操作) Storm internet向我保证默认情况下允

我正在使用MicrosoftMVC3开发一个网站,并在默认MVC3应用程序模板的基础上构建了它。它访问外部数据库并在本地主机上工作

我已经使用ftp方法通过发布工具将其部署到从storminternet租用的共享服务器上(storminternet尚不支持web部署),并且运行良好。它可以正常访问数据库,并使请求正常工作

但是,通过POST协议提交的任何表单都会返回page not found错误404(这是关于我断言[HttpPost]的操作)

Storm internet向我保证默认情况下允许POST和GET,而且由于帮助台不是开发人员,我不确定向谁求助。我对web.config没有很好的理解,尽管我可以阅读和理解xml,并通过通读和谷歌搜索了解情况。我已经尝试将协议添加到根web.config,我想我可能找错了方向

还有其他人有这个问题吗,或者有人知道如何帮助我吗

要复制我的错误,我的站点在这里。。。213.229.125.117/$sitepreview/ase-limited.com/Dev(抱歉,它不是蓝色的。美元被解析为%something)

到POST请求的最快路径是单击左侧顶部的“添加建筑”,然后单击对话框顶部的“保存”

任何帮助都将受到感激。我已经在这上面呆了好几天,运气不好

致意 尼克

STOP-PRESS-STOP-PRESS-STOP-PRESS-STOP-PRESS-STOP-PRESS-STOP-PRESS-STOP-PRESS-STOP-PRESS-STOP-PRESS-


这是sitepreview的一个已知问题。切换到正确的域对所有内容进行排序。

我注意到,在执行AJAX请求时,您有一些404 javascript错误。例如,您请求:

http://213.229.125.117/$sitepreview/ase-limited.com/BuildingManager/Employees/2
而不是:

http://213.229.125.117/$sitepreview/ase-limited.com/Dev/BuildingManager/Employees/2
注意
/Dev
是如何丢失的。这是因为在Java脚本中,您硬编码了url,而不是使用url帮助程序生成url。例如,您编写了如下内容:

$.ajax({
    url: '/BuildingManager/Employees/2',
    ....
});
这在localhost上运行良好,因为您没有虚拟目录名,但在服务器上部署时不起作用,因为现在正确的路径是:

$.ajax({
    url: '/Dev/BuildingManager/Employees/2',
    ....
});
出于这个原因,您绝对不应该像那样硬编码URL


当我试着在中发布表单时,我试着发布到一个非常奇怪的url,因为它缺少了整个开头。再一次:永远不要硬编码URL。始终使用url帮助程序。

当我单击您的链接时,会出现404错误。你好。是的,解析器将$symbol更改为%something代码。我不得不编辑链接。虽然它是复制+粘贴的。是的,我通过艰苦的方式学会了这个错误。今天上午我用@Url.Content(“~/fghfg/hfdgh/fgh”)包装Url。我错过了那个。你是怎么得到的?我明白了。我不知道这是否有帮助,但我使用的是ChromeWebBrowser,不幸的是没有。我在JavaScript中修复了这个URL,非常感谢。我会错过的!我的表单仍然没有发布,URL是通过帮助程序正确形成的。我也一直在使用FireFox。唯一的问题是它的运行速度有点慢,但我的笔记本电脑很难说是一台机器……还有一件事。我刚刚试过Firefox,生成的URL与您得到的不同。你还收到缩短的那个吗?@user1271898,当我提交表单时,FireFox会发布到
http://213.229.125.117/Dev/BuildingManager/SaveBuilding
它重定向到
http://213.229.125.117/$sitepreview/ase limited.com/Dev/BuildingManager/SaveBuilding
,其本身以404结尾。因此,您没有发布到正确的url。您能在视图中显示此表单的代码以及使用AJAX提交表单时可能拥有的任何javascript吗?噢。。当然可以。生成URL的代码是:@using(Html.BeginForm(“SaveBuilding”,“BuildingManager”,new{param_Building_ID=Model.Building.Building_ID},FormMethod.Post,new{enctype=“multipart/form data”})){…}……那么,我是否需要将控制器字符串包装在@URL.Content(“BuildingManager”)中。。。我的AJAX表单与之类似,只是我使用AJAX.BeginForm而不是Html.BeginForm。