Url.Content中的Url不匹配

Mismatch Url from Url.Content

本文关键字:Url 不匹配 Content 中的      更新时间:2023-09-26

通过Ajax,我正试图使用以下代码点击控制器(Home)的操作方法(城市)

 url: '@Url.Content("~/Home/city")',

从地址栏中,我发现Url不匹配,因为我在不同的控制器中。例如,如果我在站点控制器中,那么它将重定向到站点/家庭/城市。取而代之的是,它应该重定向到家庭/城市。意味着它采用当前控制器和我通过url.Content传递的url。如果我将javascript代码放在.aspx中,则Url将正确重定向,如果javascript代码在单独的文件中,则会引发上述问题。如何从javascript重定向到特定的Url?

如果您的JavaScript位于外部文件中,则可以使用以下技术访问操作的路由路径。

只需将url附加到调用ajax调用的元素作为数据属性即可。

在下面的例子中,我将它附加到一个输入按钮上。

<input data-url="@Url.Action("city", "Home")" value="DoPost" />

然后,在事件处理程序中,您可以使用jQuery data方法读取属性,即

var superUrl = $(this).data('url');

然后在ajax调用中使用这个:

url: superUrl