JavaScript中的URL帮助器

šlj*_*ker 8 asp.net-mvc jquery url-routing

我正在使用jQuery Lightbox作为我的图片库.
按钮图像的 URL是' ' 如果我的URL是../../Content/Lightbox/lightbox-btn-next.gif'
那么工作正常localhost/Something1/Somtehing2'
如果我使用其他路线' localhost/Something1/Something2/Something3''那么URL按钮图像是不正确的.
我可以使用Url.Action()里面的.js文件吗?
这就是我调用.js文件的方式:

<script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery.lightbox-0.5.js") %>"></script>
Run Code Online (Sandbox Code Playgroud)

Mat*_*ner 10

我将以下内容放在我的母版页中,它完成了与@ Url.Content('〜/ path')相同的操作:

<script type="text/javascript" charset="utf-8">
    function UrlContent(path) {
        return '@Url.Content("~/")' + path.replace(/^\//, ''); 
    }
</script>
Run Code Online (Sandbox Code Playgroud)

当我的母版页被编译并提供时,这转换为一个javascript函数,将我的站点根应用于路径.效果很好.path.replace正则表达式只是删除一个前导斜杠,如果有一个,因为@ Url.Content("〜/")有一个终止斜杠.


Ser*_*hiy 5

您不能在.js文件中使用Url.Action().但您可以定义全局变量并在js文件中使用它.

<script type="text/javascript">

    var imageUrl = "<%= ... %>";

</script>
Run Code Online (Sandbox Code Playgroud)