2016-01-07 30 views
0

我有以下2個元素: 的DropDownListASP.net變化圖像之後DropDownList.OnSelectedIndexChanged

<asp:DropDownList id="DropPoke1" Width="80" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropPoke1_SelectedIndexChanged"> 
      <asp:ListItem Value="1">Test</asp:ListItem> 
      <asp:ListItem Value="2">asd</asp:ListItem> 
      <asp:ListItem Value="3">FF</asp:ListItem> 
</asp:DropDownList> 

圖片

<asp:Image ID="imgPoke1" Height="80" Width="80" runat="server" ImageUrl="../Images/orderedList0.png"/> 

在代碼隱藏,我想改變圖像:

protected void DropPoke1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     imgPoke1.ImageUrl = "~/Images/HomePicture.png"; 
    } 

不幸的是,這似乎沒有做任何事情。

+0

你應該實現事件處理在JavaScript中實現的客戶端代碼 –

+0

@YaugenVlasau我沒有時間學習JavaScript。它應該以這種方式工作,不是嗎? – Kohnarik

+0

在您選擇任何項目之前,圖像是否顯示在頁面上? – Khazratbek

回答

2

嘗試下一步:

您的設計頁面:

<asp:DropDownList id="DropPoke1" Width="80" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropPoke1_SelectedIndexChanged"> 
     <asp:ListItem Value="1">Test</asp:ListItem> 
     <asp:ListItem Value="2">asd</asp:ListItem> 
     <asp:ListItem Value="3">FF</asp:ListItem> 
</asp:DropDownList> 

<asp:Image ID="imgPoke1" Height="80" Width="80" runat="server" /> 

後面的代碼:

protected void Page_Load(object sender, EventArgs e){ 
    if(!IsPostBack) 
     imgPoke1.ImageUrl = "~/Images/orderedList0.png"; 
} 

protected void DropPoke1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    imgPoke1.ImageUrl = "~/Images/HomePicture.png"; 
} 
+0

以某種方式工作,但現在我有緩存問題。如果我現在將orderedList0.png更改爲另一個,那麼舊版本會保留。如何正確「刷新」頁面? – Kohnarik

+0

我認爲你需要的一件事就是重新啓動應用程序。或至少是頁面。 – Khazratbek

+0

它是網站還是網絡應用程序? – Khazratbek

1

您正在使用的UpdatePanel?如果是,則將圖像控件放入updatepanel中。

+0

我沒有使用updatepanel :( – Kohnarik