小编典典
始终使用Url.Action或Url.RouteUrlhtml
helper方法来构建操作方法的url。无论您当前的页面/路径如何,它都会正确构建网址。
假设您的js代码在razor视图中,则可以直接使用Url.Action方法并将其分配给js变量。
url: "@Url.Action("gravaCookie","entidades")",
假设您有这样的操作方法,它应该可以工作
[HttpPost]
public ActionResult gravaCookie(string id,string detalhe)
{
// to do : Return something
}
如果您的JavaScript位于单独的javascript文件中,则可以使用上述帮助方法在razor视图中构建url,并将其保存在您的外部js文件代码可以访问的变量中。
一定要确保使用javascript名称空间,以避免全局javascript变量可能出现的问题 。
@section Scripts
{
var myApp = myApp || {};
myApp.Urls = myApp.Urls || {};
myApp.Urls.baseUrl = '@Url.Content("~")';
myApp.Urls.gravaCookieUrl = '@Url.Action("gravaCookie","entidades")';
}
在PageSpecificExternalJsFile.js文件中,您可以像
var urlToGrava= myApp.Urls.gravaCookieUrl
// Or With the base url, you may safely add the remaining url route.
var urlToGrava2= myApp.Urls.baseUrl+"entidades/gravaCookie";
// Use urlToGrava now
编辑
如果您只关心站点的根/基URL,则可以简单地/用作URL的第一个字符。
var urlToGrava2= "/entidades/gravaCookie";
2020-07-26