ASP:Imagebutton无法在gridview中回发

时间:2011-08-17 17:15:46

标签: c# asp.net

    <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>

...

我已经如上所述定义了我的图像按钮,但由于某些原因,当我单击按钮时,行命令无法启动。

奇怪的是,另一列中的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":
...

2 个答案:

答案 0 :(得分:0)

尝试暂时将图像按钮更改为链接按钮,以查看它是否有效。自从我使用asp.net以来已经有点了,但我记得遇到过一些问题,其中事件不能用于ImageButtons只在某些浏览器上丢失它们的图像。你的ImageButton是否有图像集?

答案 1 :(得分:0)

将CausesValidation =“False”添加到图像按钮。 这对我有用。