我为ASP创建了一个自定义服务器控件,它具有布尔“预览”属性,基于此属性,图像将显示为低或高分辨率图像。
在整个页面加载之前,我希望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 :(得分:0)
此处的问题是,#CustomImageTest
不可用,控件ID可能不同,因此您需要使用ClientID
这样的代码。要验证,请检查view-source,如果页面中存在CustomImageTest
的ID。
$("#<%=CustomImageTest.ClientID %>")