Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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 5 C#路径更改_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

发布asp.net项目后MVC 5 C#路径更改

发布asp.net项目后MVC 5 C#路径更改,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,所以这将是一个愚蠢的问题,因为我知道有一个简单的解决方案,我就是想不出来 目前我正在visual studio 2013中运行我的MVC 5项目。。。通常,当我想调试它时,我只需单击“运行”,网站就会出现在我选择的浏览器中 我最近刚把它发布到我公司的网络服务器上,现在我遇到了各种各样的问题 该网站在主页/索引页上只有15个按钮,我希望能够单击这些按钮并在本地主机端运行它们,并且在发布它们时,仍然让它们找到正确的路径 这里有一个例子,因为我不太擅长解释事情。。。 我在visual studio中运

所以这将是一个愚蠢的问题,因为我知道有一个简单的解决方案,我就是想不出来

目前我正在visual studio 2013中运行我的MVC 5项目。。。通常,当我想调试它时,我只需单击“运行”,网站就会出现在我选择的浏览器中

我最近刚把它发布到我公司的网络服务器上,现在我遇到了各种各样的问题

该网站在主页/索引页上只有15个按钮,我希望能够单击这些按钮并在本地主机端运行它们,并且在发布它们时,仍然让它们找到正确的路径

这里有一个例子,因为我不太擅长解释事情。。。 我在visual studio中运行它我的url是:

http://localhost:54641/Home/Index
http://webserver/racklabels/dakkota/Home/Index
我在Web服务器上运行已发布的站点,我的url为:

http://localhost:54641/Home/Index
http://webserver/racklabels/dakkota/Home/Index
我理解这一部分,无论哪种情况,它们都可以工作,但当涉及到点击按钮或图像时。。这条路很奇怪,我不明白

在visual studio中,我单击我的第一个按钮,我的url变为:

http://localhost:54641/RecieveTruck/AddFor
在我的Web服务器上,我单击它,它会变成:

http://webserver/RecieveTruck/AddFor
但是给出了404错误,因为它不是正确的路由(应该是.)

http://webserver/racklabels/dakkota/RecieveTruck/AddFor
)

这就是我在视图(Index.cshtml)中设置按钮的方式,我想知道这是否是导致问题的原因(我想我可能不得不用不同于使用onclick的方式进行设置)


基本上,我希望无论发布后和单击visual studio中的run(运行)时我有多少个文件夹,都能让它正常工作(这样我可以调试/测试并在需要更新时重新发布到Web服务器)

我已经尝试了许多不同的方式发送路径。。。像“~/receivetruck/AddForm”(它只是将~添加到地址中)和“../receivetruck/AddForm”以及“receivetruck/AddForm”,但它们都找不到项目所在的实际根,只是将其添加到其中

有人能帮我吗?

您需要将“~”添加到url文档的前面。location.href='~/receivetruck/AddForm'

或者如果这不起作用,请使用document.location.href='@Url.Content(“~/receivetruck/AddForm”)

您需要将“~”添加到Url文档的前面。location.href='~/receivetruck/AddForm'

如果这不起作用,请使用document.location.href='@Url.Content(“~/receivetruck/AddForm”)

您可以使用

@Url.Content("~/Home/Index")
但这完全忽略了mvc路由的好处

如果您想为控制器操作生成URL,最好使用

@Url.Action("Index","Home")
…因此,如果您现在设置了一些snappy路由规则,则.Action中提供的url将自动调整(例如省略路由规则中具有默认值的url部分)。

您可以使用

@Url.Content("~/Home/Index")
但这完全忽略了mvc路由的好处

如果您想为控制器操作生成URL,最好使用

@Url.Action("Index","Home")

…因此,如果您现在设置了一些snappy路由规则,则中提供的url将自动调整(例如省略路由规则中具有默认值的url部分)。

当我从visual studio运行时,该url现在为:Awesome the url.content worked!!非常感谢:当我从visual studio运行时,它给了我一个404错误,url现在是:太棒了url.content工作了!!非常感谢:DSo如果它是一个用于图像的javascript函数,那么。。。例如。。。函数writeHeader(title){d.write(“”;}因为我不能使用Url.Action或Url.Content?…那么您需要将站点的根Url“Url.Content(“~/”)从页面(.cshtml页面)上的脚本传递到您的JavaScript中,并使用它来修复路径。那么,如果它位于图像的JavaScript函数中,那么。。。例如。。。函数writeHeader(title){d.write(“”;}因为我不能使用Url.Action或Url.Content?…那么您需要将站点的根Url“Url.Content(~/”)从页面(.cshtml页面)上的脚本传递到JavaScript中,并使用它来修复路径。