我正在尝试从javascript设置asp图像元素src属性,但是没有设置url属性。
function slideshow() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/RollingScreen.aspx/GetNextImage",
dataType: "json",
data: "{}",
success: function (data) {
//this changes the image on the web page
$('#imgSlideShow').attr("src","~/1.png");
$("#txt1").val(data.d);
//fires another sleep/image cycle
setTimeout(slideshow,5000);
},
error: function (result) {
alert(result.message);
}
});
}
$(document).ready(function () {
//Kicks the slideshow
slideshow();
});
我的aspx图片元素是
<asp:Image ID="imgSlideShow" runat="server" Height="300px" Width="600px" ImageAlign="Middle" ImageUrl="~/1.png"/>....
任何人都可以帮助我......
答案 0 :(得分:2)
您的错误在于您尝试使用已在asp.net中设置的ID。但是runat =“server”元素使用不同的ID呈现。像Content1_Content2_imgSlideShow
这样的东西。您可以在服务器端使用imgSlideShow.ClientID
而不是$('#' + jsVariableWithClientID)
来获取它。但我更喜欢使用一些独特的类(将客户端ID传递给JS没问题):
<asp:Image ID="imgSlideShow" CssClass="imgSlideShow" runat="server" Height="300px" Width="600px" ImageAlign="Middle" ImageUrl="~/1.png"/>
而在JS中,使用类选择器:
$('.imgSlideShow').attr("src","/1.png");
另一个问题是JS不知道~
- 这只是asp.net功能。您应该为src指定图像URL,如下所示:"/1.png"
(假设它位于根目录中)