从javascript设置asp图像src属性

时间:2012-11-12 09:12:37

标签: jquery asp.net

我正在尝试从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"/>....

任何人都可以帮助我......

1 个答案:

答案 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"(假设它位于根目录中)