2016-11-24 94 views
2

这是我的形象:如何更改视图IMG SRC MVC

<img id="1star" src="~/Content/Images/emptystar.png" onmouseover="setStars(1)" onmouseout="setStarsBack()" onclick="location.href='@Url.Action("SetRating", "CreativeModels", new { id = GlobalVariables.CurrentBookId, rating = 1 })'" /> 

这个功能应该改变图像的源代码:

function setStars(amount) { 
    if (amount > 0) { 
    document.getElementById("1star").src = "~/Content/Images/filledstar.png"; 
    } 
} 

它改变了,但浏览器说,这它无法加载图像。这是鼠标移动到图片后什么浏览器显示:

image of what browser shows

这是图像移动鼠标到之前的样子图片:

image with starts rendered

我应该如何改变src财产?

回答

0

问题不在于src属性。这已正确更改为您设置的内容。问题是它指向错误的目录。

假设你正在使用剃刀与您的MVC解决方案尝试了这一点:

function setStars(amount) { 
    if (amount > 0) { 
    document.getElementById("1star").src = "@Url.Content("~/Content/Images/filledstar.png")"; 
    } 
} 
+0

谢谢,这解决了我的问题! –

0

您可以尝试将您的图像URL根据当前的html文件位置。实际上,在您的图片URL中使用~,您假设它位于当前用户主文件夹下。但是如果用户改变,比~将指向新的用户主文件夹。

我建议你到src变量的值改变当前这样:

<pathOfHtmlFile>/Content/Images/filledstar.png 

,并与其中的HTML文件位于您的计算机上的路径替换<pathOfHtmlFile>

+0

我改成了“'E:/ Kursovoi /超级备份/ Eksperementçvistavleniem otsenok/WebApplication4/WebApplication4 /浏览/ CreativeModels/Content/Images/emptystar.png“',但它不会改变。我猜浏览器只能访问服务器上的图片,这是我没有的。而我没有html文件,我有cshtml文件。 –

+0

@VladimirMootin这不是一个服务器问题,我试图在我的电脑上重现问题,但我得到了预期的结果。你可以向你的问题添加浏览器控制台的输出吗?这可以帮助解决问题。 – Danibix