如何查找特定的转发器项目

时间:2013-04-18 13:32:28

标签: asp.net c#-4.0 repeater

我有一个转发器,它有一个Asp按钮。我想获得包含点击按钮的转发器项目。

这是我的中继器的一部分:

     ...
       <td>
           <asp:Button runat="server" ID="btnSaveStock" OnClick="btnSaveStock_OnClick" Text="Save" />
       </td>
    </tr>
  </ItemTemplate>

我想在这里访问转发器项目:

 protected void btnSaveStock_OnClick(object sender, EventArgs e)
    {
        try
        {
            Button btnSaveStock = (Button)sender;

            Repeater rptProductChance = (Repeater)btnSaveStock.Parent;

        }
        catch (Exception)
        {

            throw;
        }
    }

我应该怎么做才能循环检查转发器的所有项目?

2 个答案:

答案 0 :(得分:1)

这是你可以做的。您可以通过投射按钮RepeaterItem来访问NamingContainer

protected void btnSaveStock_OnClick(object sender, EventArgs e)
{
    try
    {
        Button btnSaveStock = (Button)sender;
        RepeaterItem item = (RepeaterItem)btnSaveStock.NamingContainer;
        //....

    }
    catch (Exception)
    {
        throw;
    }
}

答案 1 :(得分:0)

由于有许多按钮(不只是一个),如果你想处理按钮,请在当前&#34;行&#34;的上下文中单击〜。对于转发器〜,你可能想要连接到转发器,而不是按钮&#34;模板定义&#34;。

http://www.developer.com/net/asp/article.php/3609466/ASPNET-Tip-Responding-to-the-Repeater-Controls-ItemCommand-Event.htm