J'ai essayé de poster ceci avant avec seulement le texte ... il y avait seulement une réponse que j'ai mise à jour onblur ... qui n'a pas semblé la meilleure route car il pourrait y avoir une quantité considérable d'enregistrements: au cours d'un événement répéteur ItemDataBound: « >
Comment puis-je obtenir les données à partir des zones de texte dans la grille, imbriquées dans le répéteur?
<asp:GridView ID="gvBeneficiary" DataKeyNames="BeneficiaryKey" OnRowCommand="gvBeneficiary_RowCommand" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:HyperLink runat = "server" ID="hlEditBeneficiary" NavigateUrl='<%# "~/EditBeneficiary.aspx?bk=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem, "BeneficiaryKey").ToString()) %>' Text='<%#Eval("FirstName") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Relationship" HeaderText="Relationship" />
<asp:TemplateField HeaderText="Shares %">
<ItemTemplate>
<asp:TextBox ID="txtEditShares" runat="server" Text='<%#Bind("Shares") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Beneficiary Type">
<ItemTemplate>
<asp:DropDownList ID="ddlBeneficiaryType" runat="server" SelectedIndex='<%# GetSelectedBeneficiaryType(Eval("BeneficiaryType")) %>' DataSource='<%# BeneficiaryTypes %>' ></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton Text="Delete" CommandName='DoDelete' CommandArgument='<%# string.Format("{0}|{1}", Eval("BeneficiaryKey"), Eval("PlanTypeKey")) %>' ID="lbDoDelete" runat="server"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:HyperLink ID="hlAddBeneficiary" runat="server" Text="Add Beneficiary" NavigateUrl='<%# "~/AddEditBeneficiary.aspx?PT=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem, "PlanTypeKey").ToString()) + "&CPT=" + HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem, "CorePlanType").ToString()) %>'></asp:HyperLink>
Ceci est la codebehind: rptPlanTypes_ItemDataBound vide protégé (expéditeur d'objet, RepeaterItemEventArgs e) { GridView gvBeneficiary = (GridView) e.Item.FindControl ("gvBeneficiary");
gvBeneficiary.DataSource = ((PlanType) e.Item.DataItem).BeneficiaryCollection;
gvBeneficiary.DataBind();
}
J'ai un événement onclick à partir d'un bouton dont je veux faire toutes les mises à jour. N'importe qui a une idée de la façon d'explorer les contrôles individuels sur les lignes pour tirer toutes les données à la fois ou dans une boucle. Merci encore pour toutes vos suggestions. Padawan
Beuller, Beuller –