2012-11-04 184 views
0

是否可以通过点击按钮来设置图片的src。 我的每个按钮都代表应该显示在我的“图像”区域中的图片。我需要图像区域的SRC属性受到按钮点击的影响。我使用visual studio 2012与c#。动态设置图片src asp.net

-Edit:使用Visual Studio 2012中的AJAX更新面板与C#

回答

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" /> 
+0

非常感谢我的最终使用是: 保护无效的button1_Click(对象发件人,EventArgs的){ = Image1.ImageUrl( “〜/ 481174_3728211758383_145482873_n.jpg”);} 我感谢您的帮助! – ModS

1

是的。您将可以通过使用JavaScript并将按钮处理程序附加到按钮(onclick =“loadImage1()”)来完成此操作。

loadImage1函数将要求您编写必要的javascript来访问图像元素的src属性并对其进行修改。

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

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

然后你就可以改变src属性是这样的:

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

的jQuery:this link

+0

如果我有按钮我的会话[VAR]和被用作用于我的更新潘内尔触发分配值;我还可以将JavaScript功能附加到按钮上吗? – ModS

+1

是的。更新面板只是反刍内容模板中的内容,因此应保留onclick(用于常规html按钮)或onClientClick(用于asp.net按钮)。需要注意的是,如果您更改src值,然后运行更新面板,它将重新呈现并可能“覆盖”javascript客户端更改。在这种情况下,我会选择一个。没有事先知道您的文章中的更新面板,我选择了更直接的路线。 – Hardrada

+1

您应该更新您的问题,以包括您正在使用MS Ajax和更新面板的事实。作为一个方面说明,你可能想看看jQuery的异步发布到页面的能力,以帮助设置会话信息。您可以完全消除更新面板的大量开销。如果你需要更多的信息,我会开始另一个问题。 – Hardrada