c# - 如何使用嵌套中继器获取代码后面的页脚项值?

标签 c# asp.net repeater

我有一个嵌套的转发器,我在页脚模板中使用了一个文本框。我想在按钮单击中获取 textbox.text 值。这是我的中继器:

    <asp:Repeater ID="rprSSFirst" runat="server" OnItemDataBound="rprSSFirst_ItemDataBound"  >

<HeaderTemplate>
    </HeaderTemplate>
            <ItemTemplate>
                //******Some Items******
               <asp:Repeater ID="rprSSNested" runat="server" >  //Nested Repeater
                    <HeaderTemplate>
                    </HeaderTemplate>
                      <ItemTemplate>
                           //******Some Items******
                      </ItemTemplate>
                    <FooterTemplate>   
                      <div style=" padding: 20px 35px;" id='ajax'>
                         <asp:TextBox ID="textbox" TextMode="MultiLine" Columns="50" Rows="10" runat="server"></asp:TextBox>
                         <br />
                         <asp:Button ID="Button2" runat="server" OnClick="btn_Save_Click" Text="Save" />                             
                      </div>  
                  </FooterTemplate>
                </asp:Repeater>
              </ItemTemplate>
            <FooterTemplate>

            </FooterTemplate>
        </asp:Repeater>

//在代码隐藏中

protected void btn_Save_Click(object sender, EventArgs e)
{
 TextBox txtAns = (TextBox)rprSSFirst.Controls[rprSSFirst.Controls.Count - 1].FindControl("textbox");
}

但是txtAns值始终为空。如何在按钮单击中获取页脚项目 textbox 值?还是其他方式?

感谢您的回答。

最佳答案

您必须首先找到两个控件所在的嵌套RepeaterItem。您可以通过转换 NamingContainer 来获取它:

protected void btn_Save_Click(object sender, EventArgs e)
{
    Button btnSave = (Button) sender;
    RepeaterItem item = (RepeaterItem) btnSave.NamingContainer;
    TextBox txtAns = (TextBox) item.FindControl("textbox");
}

关于c# - 如何使用嵌套中继器获取代码后面的页脚项值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23358669/

相关文章:

c# - 如何在 EasyNetQ 中为每个消费者声明自定义错误交换?

c# - 在 excel 中生成 excel 和图表的最佳库?

asp.net - jQuery 的原生 ajax 函数 vs ajaxDotNet 插件

c# - 比较可为空的日期时间

asp.net - 从两个数据库表动态创建一个表并绑定(bind)到转发器

c# - 如何使用 LINQ 将 <string,list<string>> 缩减为 <string,string>?

c# - 将方法传递给组件

jquery - jquery下面的代码有什么错误

asp.net - 以声明方式访问转发器内的页面属性数据绑定(bind)

qt - 如何在 QML 中移动/动画由中继器创建的组件?