2014-10-09 168 views
0

我已經爲ASP創建了一個自定義服務器控件,該控件具有布爾「預覽」屬性,根據此屬性,圖像將顯示爲低或高分辨率圖像。使用jQuery更改自定義屬性

在整個頁面加載之前,我希望Preview = true,一旦頁面加載完畢,這應該轉爲false,以便用更高質量的版本替換所有圖像。控件的後端已完成,我可以通過更改標記中的屬性來手動控制質量。

這裏是我到目前爲止

<CustomControls:ImageControl ID="CustomImageTest" FileName="/lion.jpg" Alt="Lion" MaxWidth="800" MaxHeight="800" Preview="true" PreviewQuality="10" DestinationFolder="~/Images/WorkingFolder/" runat="server" /> 

我已經然後用這個JavaScript來嘗試實現我追求

$(window).load(function() { 
    $("#CustomImageTest").attr("Preview", "false"); //Change attribute so high quality will be shown 

//Testing to check that the function is being called 
    var dNow = new Date(); 
    var localDate = dNow.getHours() + '/' + dNow.getMinutes() + '/' + dNow.getSeconds() + dNow.getMilliseconds(); 

$(".jsOutput").text("Everything has now loaded" + localDate).css("background-color", ""); 
}); 

我可以告訴大家,該函數被調用的效果我正在使用的jsOutput類在頁面完全加載時更新。

我是否需要刷新某些內容才能看到更改,我是否引用了我的元素錯誤?

+0

我猜你的服務器端代碼在你的控制,根據該值檢查屬性和負荷影像的價值。一旦頁面加載並顯示在客戶端瀏覽器中,您只能更改標記中該參數的值,但不會觸發頁面重新加載和圖像更改。 – PrzemG 2014-10-09 15:47:30

回答

0

這裏的問題是,#CustomImageTest不可用,該控件ID可能會有所不同,所以你需要像這樣使用ClientID。要驗證,請檢查查看源,如果頁面中存在有CustomImageTest的ID。

$("#<%=CustomImageTest.ClientID %>")