2012-11-04 183 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