2011-08-17 47 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。 这对我有效。