1

我有一个带有更新面板的表单并包含一个网格视图。当用户点击 ImageButton 时,会有一个 div 显示“处理中”,并且页脚将显示为空文本框,用于数据输入和保存目的。我发现 Save 按钮可以正常工作,但标题中的 ImageButton 不行。当我单击 ImageButton 时,除非我删除了 UpdatePanel,否则它不会触发。有什么建议吗?

<asp:UpdatePanel runat="server" ID="UpdatePanel1" >
        <ContentTemplate>
            <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
                <Columns>
                    <asp:TemplateField ShowHeader="False">
                        <HeaderTemplate><center>
                         <asp:ImageButton ID="ImgAdd" AlternateText="Add" runat="server"
                           ImageUrl="~/img/tDocumentAdd.png" Width="15" Height="15"
                           OnClick="ImgAdd_Click" CausesValidation="false" /></center>
                        </HeaderTemplate>
                   </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <asp:Button runat="Server" id="bthSave" OnClick="SaveData" />
         </ContentTemplate>

4

2 回答 2

1

这可能是因为图像按钮位于网格视图的标题部分内。尝试放置一个预渲染事件并将图像按钮注册为回发控件

.aspx

<HeaderTemplate><center>
   <asp:ImageButton ID="ImgAdd" AlternateText="Add" runat="server"
    ImageUrl="~/img/tDocumentAdd.png" Width="15" Height="15"
    OnClick="ImgAdd_Click" onprerender="ImgAdd_PreRender" /></center>

背后的代码

protected void ImgAdd_PreRender(object sender, EventArgs e)
{
   ImageButton btn=sender as ImageButton;
   ScriptManager sc = ScriptManager.GetCurrent(this.Page);
   sc.RegisterPostBackControl(btn);
}
于 2013-08-21T05:24:26.790 回答
0
Try this code !!!.aspx!!!
 <HeaderTemplate><center>
     <asp:ImageButton ID="ImgAdd" AlternateText="Add" runat="server"
     ImageUrl="~/img/tDocumentAdd.png" Width="15" Height="15"
     OnClick="ImgAdd_Click" onprerender="ImgAdd_PreRender" /></center>
  code behind`enter code here !!!  (.cs)`   !!!
 protected void ImgAdd_PreRender(object sender, EventArgs e)
  {
    ImageButton btn=sender as ImageButton;
   ScriptManager sc = ScriptManager.GetCurrent(this.Page);
   sc.RegisterPostBackControl(btn);
  }` 
于 2014-01-31T14:06:24.020 回答