繁体   English   中英

MVC3 JavaScript图像问题

[英]MVC3 javascript image issue

我有一个C#.Net MVC3 Web应用程序。 在某个js文件中,我正在加载一个对话框,并在下面的图像中分配loading:属性。

loading: $('<img src="../../Content/Images/loading.gif" alt="loading" class="ui-loading-icon">'),

但是,在不同的环境中找不到图像。 这些实例中的代码应为

loading: $('<img src="../../../Content/Images/loading.gif" alt="loading" class="ui-loading-icon">'),

我试过了

loading: $('<img src="@Href("~/Content/Images/loading.gif")" alt="loading" class="ui-loading-icon">'),

并且还尝试了

loading: $('<img src="@Url.Content("~/Content/Images/loading.gif")" alt="loading" class="ui-loading-icon">'),

都不起作用。...当我在aspx文件中使用@ Url.Content和@Href时,它起作用了。

不用说,我不是javaScript专家,但是我认为这在js文件中必须是可行的。

有任何想法吗?

我通常会解决的方法是在母版或布局页面中创建一个辅助函数:

将此放置在布局页面中,该页面位于对jquery的引用之下,但在将使用它的任何其他文件之上:

// This adds the helper onto the jQuery object rather than just being global
$.getUrl = function (path) {
     return '@Url.Content("~")' + path;
};

然后像这样在您的js文件中使用它:

$('<img src="' + $.getUrl('/Content/Images/loading.gif') + '" />')

正如Richard D所说,您不能在javascript文件中运行.NET代码。 可能的解决方法是将图像路径存储在View的隐藏字段中,然后从javascript文件获取它。

查看文件:

<input type="hidden" id="image-path" value="@Url.Content("~/Content/Images/loading.gif")" />

JS档案:

var imagePath = $("#image-path").val();
loading: $('<img src="' + imagePath + '" alt="loading" class="ui-loading-icon">'),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM