2011-08-17 50 views
0
<asp:GridView ID="gv1" runat="server" Width="100%" DataSourceID="ods1" AutoGenerateColumns="false" 
    DataKeyNames="FileID" HeaderStyle-Height="20px"> 
    <Columns> 
     <asp:TemplateField ItemStyle-Width="25px" ItemStyle-HorizontalAlign="Center"> 
      <ItemTemplate> 
       <asp:ImageButton ID="imgMimeType" runat="server" CommandName="download" /> 
      </ItemTemplate> 

... 

我已經定義了我的圖像按鈕,但由於某種原因,當我點擊按鈕時,命令無法激發。ASP:Imagebutton無法在GridView中回發

奇怪的是,在另一列的linkbutton工作得很好。

我該如何製作圖片按鈕才能發回帖子?

行綁定

Image Button imb = e.Row.FindControl("imgMimeType") as ImageButton; 
    if (imb != null) 
    { 
     imb.CommandArgument = file.FileID.ToString(); 
     imb.AlternateText = imb.ToolTip = file.MimeType; 
     if (file.MimeType.Contains("zip")) 
     { 

       imb.ImageUrl = "~/Images/mimetypes/zip-icon.png"; 
      } 
    ... 

行命令代碼

public void gv1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     switch (e.CommandName.ToLower()) 
     { 
      case "download": 
... 
+0

不是imagebutton需要imageurl? – Jeroen

+0

它們設置在代碼後面。 – Anatoli

+0

你可以顯示代碼隱藏;如何設置imageurl以及如何捕獲rowcommand? – Jeroen

回答

0

嘗試改變的ImageButton到一個LinkBut​​ton暫時只是爲了看看它是否工作。自從我使用asp.net以來,這一直是一個小問題,但我記得遇到了一個問題,即事件不能在ImageButtons上在某些瀏覽器上丟失圖像。你的ImageButton是否有圖像集?

+0

鏈接按鈕的作品,但他們不帶圖像,因爲我需要他們做的,是的我的圖像設置正確的C#代碼。 – Anatoli

+0

嗯,我認爲你可以使用LinkBut​​tons的圖像? http://weblogs.asp.net/justinsaraceno/archive/2008/11/05/linkbutton-with-image-and-text.aspx –

0

將CausesValidation =「False」添加到imagebutton。 這對我有效。