1

我有一些 jQuery 将一些图像标签写入浏览器,但我想引用它们,这样我就不必对路径进行硬编码,而且我也不能使用相对路径。这是一个 .NET 应用程序,我正在尝试使用服务器端标签。

所以,我改变了以下内容:

$('#IMG_' + myID).attr('src','../images/plus.gif');

至:

$('#IMG_' + myID).attr('src','<%= Url.Content("~/images/plus.gif") %>');

或者:

$('#IMG_' + myID).attr('src','<%= ResolveUrl("~/images/plus.gif") %>');

当它运行时,我得到 javascript 错误,第 48 行的无效参数,jquery-1.4.2.min.js 的 char 325。

4

2 回答 2

2

这是我在几个项目中所做的事情。它旨在与 ASP.NET MVC 一起使用,但我想它也可以与 WebForms 一起使用。

脚本:common.js

function Environment() { }    
Environment.vroot = '';

Environment.getUrl = function(path) {
    return Environment.vroot + path;
};

部分视图/用户控制:CommonScript.ascx

<script type="text/javascript">
    Environment.vroot = '<%= Url.Content("~/") %>';
</script>

我只是将 CommonScript.ascx 放在我的母版页上,但您可以将它放在任何您想要的位置。它需要在脚本引用 common.js之后渲染。

如果你使用它,你可以这样做来设置你的图片网址:

$('#IMG_' + myID).attr('src', Environment.getUrl('images/plus.gif'));
于 2010-07-07T21:11:34.940 回答
1

如果您不在任何环境中使用虚拟目录,则可以使用/images/plus.gif

如果您的网站有这样的网址localhost/mysite/default.aspx,它将无法正常工作

于 2010-07-06T00:48:26.657 回答