每次单击时,图像按钮都会执行完整的回发。

时间:2013-06-24 10:26:51

标签: asp.net asynchronous imagebutton

无论如何我可以阻止ImageButton控件在尝试获取按钮点击的某些信息的同时避免完全回发吗?

<asp:GridView ID="GridView1" runat="server">
<Columns>
            <asp:TemplateField>
            <ItemTemplate>
             <asp:Literal ID="litRowStart" runat="server"></asp:Literal>
                <asp:Literal ID="Literal1" runat="server"></asp:Literal>
                <td  >
                 <ul>
                     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                  <ContentTemplate>
                     <asp:ImageButton ID="ImageButton2" runat="server"  ImageUrl='<%#String.Format(Eval("Image_Location")+".jpg") %>' CssClass="thumbnail"  ToolTip = '<%# Eval("Team_Name")%>' />
                    <asp:Label ID="Label2" runat="server" Font-Bold="True" Text='<%# Eval("serno")%>' Visible="false"/>
                     </ContentTemplate>
                     </asp:UpdatePanel>
                     </ul>
                 </td>                 
                <asp:Literal ID="Literal2" runat="server"></asp:Literal>

                <asp:Literal ID="litRowEnd" runat="server"></asp:Literal>
        </ItemTemplate>
        </asp:TemplateField>
</Columns>
</asp:GridView>

我正在做的后端:

 Label1.Text = ((Label)e.Item.FindControl("Team_Id")).Text;

但是每次单击图像按钮时,它都会回发而不是异步回发。 页面上有很多数据取决于Serno。 有人可以建议我一个解决方案或图像按钮的替代方案,它将通过单击按钮执行相同的功能。 谢谢!

2 个答案:

答案 0 :(得分:0)

这应该有效。你能确保你没有js错误并且HTML在页面上有效吗?

答案 1 :(得分:0)

您可以使用此代码检测哪个控件发回并更正了您的代码:

string ctrlName = Page.Request.Params.Get("__EVENTTARGET");
if (!String.IsNullOrEmpty(ctrlName))
     ctrl = FindControl(ctrlName);
if (IsPostBack && ctrl!=ImageButton2)
  {
    //your code that will execute in postback    
  }