2014-05-06 101 views
0

我有一個gridview,裏面有我的代碼。UpdatePanel不允許在GridView中點擊按鈕點擊

<asp:TemplateField HeaderText="Header 3"> 
       <ItemTemplate> 
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
       </ItemTemplate> 
       <FooterStyle HorizontalAlign="Right" /> 
       <FooterTemplate> 
       <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <!-- only your content that needs refreshing goes here --> 

       <asp:Button ID="ButtonAdd" runat="server" Text="Add New Row" 
         onclick="ButtonAdd_Click" /> 
         </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="ButtonAdd" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 
       </FooterTemplate> 
      </asp:TemplateField> 

我添加了更新面板,因爲當我點擊GridView中的ButtonAdd按鈕數據已被刪除。但是在我添加下面的代碼按鈕後,單擊事件不會觸發。請建議解決方案。

+0

我會重新考慮整個解決方案,如果我是你。 GridViews不能很好地與UpdatePanels一起玩。而且UpdatePanel不能很好地處理任何事情,並且GridView在客戶端的處理比純HTML表格更難。您是否想過彈出一個對話框來獲取新行的值,然後使用新數據更新數據源,然後重新綁定GridView? – mason

+0

如果您刪除整個「」部分,會發生什麼情況。 Button已經在UpdatePanel裏面,所以不需要這個 –

+0

爲什麼你使用'UpdatePanel'作爲'Button'? – Bharadwaj

回答

0

請把你的整個gridview的內部更新面板和刪除內更新面板,並嘗試..

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <asp:GridView ID="gridview1" runat="server" > 
    </asp:GridView> 
    </ContentTemplate> 
    <Triggers> 

    </Triggers> 
</asp:UpdatePanel> 
+0

獲取運行時錯誤「UpdatePanel」UpdatePanel1「中的觸發器無法找到帶有ID'ButtonAdd'的控件」。因爲按鈕在gridview內部作爲頁腳模板。 –

+0

請不要設置異步觸發器並檢查? – Jameem

+0

儘量不要設置異步觸發器不起作用。按鈕點擊時丟失數據。 –