0

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

谁能帮帮我吗...

4

1 回答 1

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

于 2012-11-12T09:18:19.710 回答