动态设置图片src asp.net

时间:2012-11-04 06:09:32

标签: asp.net

是否可以通过单击按钮设置图像的src。 我的每个按钮代表一张应该在我的“图像”区域中显示的图片。我需要图像区域的SRC属性受按钮单击影响。 我使用visual studio 2012和c#。

-Edit:使用Visual Studio 2012中的AJAX Update面板和C#

3 个答案:

答案 0 :(得分:1)

是。您将能够通过使用JavaScript并将单击处理程序附加到按钮(onclick =“loadImage1()”)来实现此目的。

loadImage1函数需要您编写访问image元素的src属性所需的javascript并进行更改。

您可以使用普通的javascript(参见上面的概念),或者使用一些javascript库(如jQuery)来实现这一点。为了实现跨浏览器兼容性并且不必编写跨浏览器安全逻辑,我建议使用jQuery来处理这个问题。

<img id="img1" src="initialimagehere.jpg"/>

然后您可以像这样更改src属性:

$("#img1").attr("src","newimagehere.jpg");

jQuery:this link

答案 1 :(得分:1)

如果每次更改图像都可以接受回发,您可以执行以下操作:

在C#中:

protected void btnClick(object sender, EventArgs e) {

            Button btn = (Button) sender;    

            switch (btn.ID) {

                case "btn1": img.ImageUrl = "<Image_Url>"; break;

                case "btn2": img.ImageUrl = "<Image_Url>"; break;            
            }
        }

在ASPX页面中:

<asp:Image ID="img" runat="server"  />
<asp:Button ID="btn1" runat="server" OnClick="btnClick" />
<asp:Button ID="btn2" runat="server" OnClick="btnClick" />

答案 2 :(得分:0)

我注意到,如果没有首先在.aspx代码中为ImageUrl指定值,那么我就无法在.aspx.cs代码中进行设置。

即,如果我的.aspx代码为:

<asp:Image runat="server" id="imgPickLg0101" class="ImgSzLarge" />

我无法在后面的代码中设置它。

但是,如果我 first 为ImageUrl指定了一个值:

<asp:Image runat="server" id="imgPickLg0101" class="ImgSzLarge" ImageUrl="../Images/somepic.jpg" />

然后我可以在.aspx.cs代码中进行设置:

imgPickLg0101.ImageUrl = "../Images/DifferentPicture.jpg";