2016-11-24 118 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