Har*_*ter 9 c# asp.net gridview triggers updatepanel
我需要btnAddRow在UpdatePanel中添加LinkButton ,upSectionB但问题是我在加载期间遇到此错误:
在UpdatePanel'updownSectionB'中找不到ID为"btnAddRow"的控件.
我简化的aspx
<asp:UpdatePanel ID="upSectionB" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
Request Budget (USD)
<asp:TextBox ID="txtTotal" runat="server"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnAddRow" EventName="Click" />
//Poses problems when I uncomment the trigger above. btnAddRow is a LinkButton inside upSectionC
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upSectionC" runat="server">
<ContentTemplate>
<asp:GridView ID="gvCostBreakdown" runat="server" AutoGenerateColumns="false" ShowFooter="true">
<Columns>
<asp:TemplateField HeaderText="Amount">
<ItemTemplate>
<asp:TextBox ID="txtAmount" runat="server" Text='<%# Eval("BudgetUSD") %>'></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtAmountTotal" runat="server" Enabled="false"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="btnDeleteRow" runat="server" ToolTip="Delete" OnClick="btnDeleteRow_Click" CommandArgument='<%# Eval("Id","{0}") %>' OnClientClick="">Delete</asp:LinkButton>
</ItemTemplate>
<FooterTemplate>
<asp:LinkButton ID="btnAddRow" runat="server" CausesValidation="true" ValidationGroup="vgAddRow" ToolTip="Add Row" OnClick="btnAddRow_Click">Add Row</asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
您唯一需要做的就是单击upSectionB时触发更新。btnAddRow
protected void btnAddRow_Click(object sender, EventArgs e)
{
txtTotal.Text = "new value";
//update the other updatepanel
upSectionB.Update();
}
Run Code Online (Sandbox Code Playgroud)
出现该错误的原因是该按钮位于 GridView 控件中,因此无法在 aspx 页面的范围内访问。如果您想使用页脚中的按钮执行某些操作,则需要使用 FindControl。
LinkButton lb = gvCostBreakdown.FooterRow.FindControl("btnAddRow") as LinkButton;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |