2012-03-21 47 views
0

我想要做同樣的事情我們認爲我們的mysql在colone上排序,我有表colone標題和imagebutton下一個,當我點擊imagebutton我databind myrepeater,我想改變imageurl之後的的ImageButton的,我做這樣的在更改imagebutton圖像之前等待數據綁定

protected void UserRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    switch (e.CommandName) 
    { 
     case "country": 
      break; 
     default: 
      string criteres = e.CommandName; 
      ImageButton image = (ImageButton)UserRepeater.Controls[0].Controls[0].FindControl(criteres); 
      if (image.ImageUrl == "~\\Data\\logos\\s_desc.png") 
      { 
       LoadSortedData(criteres, "DESC", 1); 
       image.ImageUrl = "~\\Data\\logos\\s_asc.png"; 
      } 
      else 
      { 
       LoadSortedData(criteres, "ASC", 1); 
       image.ImageUrl = "~\\Data\\logos\\s_desc.png"; 
      } 
      break; 
    } 
} 

意外,我的中繼器被databinded但圖像的URL將不被修改,如果我離開image.ImageUrl =「〜\ DATA \商標\ s_asc巴紐「;單獨沒有LoadSortedData哪個數據綁定中繼器的圖像URL更改點擊,任何想法呢?

+0

你在進入_if,else_之前有什麼ImageUrl?可能ImageUrl路徑與這些相對路徑字符串不匹配。 – Coder 2012-03-21 16:27:12

+0

我有「〜\\ Data \\ logos \\ s_asc.png」並且問題不是來自這個問題,我在問題「如果我離開image.ImageUrl =」〜\ Data \ logos \ s_asc.png 「;單獨沒有LoadSortedData的數據綁定中繼器的圖像URL更改點擊」 – 2012-03-21 16:35:30

+0

「LoadSortedData()'內的代碼包裝在try/catch塊嗎?你的代碼是重新綁定中繼器控件,試着在'LoadSortedData()'後面寫'ImageButton image =(ImageButton)UserRepeater.Controls [0] .Controls [0] .FindControl(criteres);''。 – Coder 2012-03-21 17:43:20

回答

0
protected void UserRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
    { 
     int bookid; 
     switch (e.CommandName) 
     { 
      case "country": 
       break; 
      default: 
       string criteres = e.CommandName; 
       ImageButton image = (ImageButton)UserRepeater.Controls[0].Controls[0].FindControl(criteres); 
       if (image.ImageUrl == "~\\Data\\logos\\s_desc.png") 
       { 
        LoadSortedData(criteres, "DESC", 1); 
        image = (ImageButton)UserRepeater.Controls[0].Controls[0].FindControl(criteres); 
        image.ImageUrl = "~\\Data\\logos\\s_asc.png"; 
       } 
       else 
       { 
        LoadSortedData(criteres, "ASC", 1); 
        image = (ImageButton)UserRepeater.Controls[0].Controls[0].FindControl(criteres); 
        image.ImageUrl = "~\\Data\\logos\\s_desc.png"; 
       } 
       break; 
     } 
    } 

thx編碼器此代碼適用於我。

相關問題