Url.Content(...)asp.net mvc helper方法返回等效的绝对URL。我在jquery或javascript中搜索一个像这样工作的方法......
因为,我想将javascript代码分成文件(.js),你知道该文件不支持javscript代码中的Url.Content(...)....
url(...)jquery方法不像Url.Content()
那样工作更新日期:2011年1月22日
大家好,我有一个解决方法:
在.cshtml文件中,我创建了一个' GetPath '函数,该函数返回包含域名的绝对路径,并且可以在任何.js文件中访问。 在任何ASP.NET MVC视图(.cshtml或.aspx或.vbhtml)中包含以下代码:
<script type="text/javascript">
var fullPath = '@HttpContext.Current.Request.Url.Scheme://@HttpContext.Current.Request.Url.Authority';
function GetPath(url) {
return fullPath + url;
}
</script>
<script src="@Url.Content("~/JavaScriptFile.js")" type="text/javascript"></script>
任何javascript文件中的代码。
$(function () {
alert(GetPath('/Content/Site.css'));
});
结果是:http://www.yourDomain.com/Content/Site.css 或localhost:1234 / Content / Site.css&gt;&gt; Visual Cassini服务器
您只需要在任何.js文件中将@Url.Content("")
替换为GetPath('')
...
http://muaz-khan.blogspot.com/2012/02/absolute-or-relative-url-issues-and.html
答案 0 :(得分:1)
答案 1 :(得分:0)
此外,
这里有一个很好的例子:
do you write your JavaScript in a ASP.NET MVC view ... or in a separate JavaScript file?
使用jquery上的数据属性来存储任意对象,完全符合您的建议目的。查看已接受的答案以获取完整的详细信息。