FindControl问题

时间:2009-09-03 15:31:31

标签: asp.net

我遇到了问题找到一些控件。它们位于FormView中。

<asp:Panel ID="Panel5" runat="server">
                <table cellpadding="3" cellspacing="2" class="formInnerTable">
                    <tr>
                        <td>
                                <asp:UpdatePanel ID="UpdatePanel4" runat="server">
                                <Triggers >
                                    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
                                    <asp:AsyncPostBackTrigger ControlID="bttnSavee" EventName="Click" />
                                </Triggers>
                            <ContentTemplate>
                                <asp:HiddenField ID="HidVendor" runat="server" />
                        </td>
                        </tr>
                        <tr>
                            <td>
                                    <asp:FormView ID = "FVedit" DefaultMode = "Edit" runat = "server" 
                                    DataSourceID="SqlDataSource5">
                                    <EditItemTemplate>
                                        <table>
                                            <tr>
                                                <td align="center" colspan = "2">
                                                    <font color="blue" size="Medium">
                                                    <asp:Label ID="Label11" runat="server" Text='<%# Bind("data") %>'></asp:Label>(
                                                    <asp:Label ID="TextBox3" ForeColor = "blue" runat="server" Text='<%# Bind("data") %>'></asp:Label>)
                                                    </font>
                                                    <br /><br>
                                                </td>
                                            </tr>
                                            <tr align="left">
                                        <td align="right">
                                            <asp:Label ID="Label2" runat="server" Text="As2 ID: "></asp:Label>
                                        </td>
                                        <td align="left">
                                            <asp:TextBox ID="txtAs2IDe" runat="server" MaxLength = "30" Text='<%# Bind("data") %>'></asp:TextBox>
                                            <asp:RequiredFieldValidator
                                            ID="RFVe"  Display="Dynamic" ControlToValidate = "txtAs2IDe" runat="server" ErrorMessage="You must Insert a Production AS2 Identifier."> </asp:RequiredFieldValidator>
                                             <ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender1e" TargetControlID="RFVe" HighlightCssClass="validatorCalloutHighlight" runat="server">
                                             </ajaxToolkit:ValidatorCalloutExtender>
                                        </td>

**我想要访问FVedit中的所有控件**在后面的代码中我可以访问FVedit,但我注意到这个formview的控件数只有一个,当它有很多控件时。

如何在代码中访问这些控件?

3 个答案:

答案 0 :(得分:0)

“一个”控件很可能就像模板一样 - 我相当(但不是100%)确定你必须得到“TemplateItem”(我不完全确定这个名字是什么)这个控制将是)。

或者,使用(TextBox)FVedit.FindControl(“txtAs2IDe”)来获取控件 - 这似乎是一种非常常见的方法

答案 1 :(得分:0)

您可能需要在DataBound或DataBinding事件中使用FindControls ...就像使用转发器一样,请参阅nested repeaters and sqldatasource parameters

答案 2 :(得分:0)

我可以在Formview的数据库中访问。

你就是这样做的。