c# - 在代码隐藏中从 Repeater 获取值

标签 c# asp.net repeater

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="EntityDataSourceTeklifler">
     <ItemTemplate>
          <div class="panel panel-primary">
               <div class="panel-body">
                    <strong>Teklif Kodu:</strong>&nbsp;<%#Eval("TeklifId") %><br />
                    <strong>Teklif Tarihi:</strong>&nbsp;<%#Eval("TeklifTarih") %><br />
                    <strong>Teklifi Hazırlayan:</strong>&nbsp;<%#Eval("Name") %>&nbsp;<%#Eval("Surname") %><br />
                    <strong>Firma Adı:</strong>&nbsp;<%#Eval("FirmaAdi") %><br />
                    <strong>Sipariş:</strong>&nbsp;<%#Eval("FUrunId") %><br />
                    <strong>Teklif Tutarı:</strong>&nbsp;<%#Eval("TeklifTutar") %><br />
               </div>
          </div>
    </ItemTemplate>
</asp:Repeater>

如您所见,我有一个 Repeater,它可以毫无问题地显示我的数据。我需要在代码隐藏中访问 TeklifId。我要做类似的东西:

if(TeklifId == 1)
{
  //do something
}
else if(TeklifId == 2)
{
  //do something else
}

为此,我需要在它添加到 Repeater 时获取所有 TeklifId

最佳答案

理想情况下,您应该在 ItemTemplate 标记中包含一些 ASP.NET 控件(如 Label、Textbox 控件)的数据,因为它们很容易使用。但我不确定你为什么直接添加普通的 html 标签。

无论如何,要找到值,您必须在中继器控件的 ItemDataBound 控件中找到它,但为此您必须将 strong 标记设为服务器控件通过像这样添加 runat="server" 属性:-

<strong id="TeklifId" runat="server">Teklif Kodu:</strong>&nbsp;<%#Eval("TeklifId") %>

然后,像这样在您的 repeatre 控件中添加 ItemDataBound 事件:-

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"

最后在后面的代码中你可以找到这样的值:-

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
   if (e.Item.ItemType == ListItemType.AlternatingItem || 
       e.Item.ItemType == ListItemType.Item)
    {
       HtmlGenericControl TeklifId = e.Item.FindControl("TeklifId") as HtmlGenericControl;
       string TeklifId = TeklifId.InnerText;  //value here
    }
}

关于c# - 在代码隐藏中从 Repeater 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33933809/

相关文章:

c# - MVC4 多 Controller

c# - 使用最小起订量 : Mock object update automatically?

javascript - ASP.NET MVC 中的按钮提交

apache-flex - Flex 3 : looping through repeater items after they've been created. ..我怎样才能得到x、y、宽度等

c# - 在二维坐标系中查找分隔线

C#如何调用多个参数

javascript - 为什么我的服务器代码 ajax 调用返回用双引号引起来的响应?

javascript - 为 Web 应用程序实现空闲超时的最佳方法是什么(自动注销)

.net - 如何删除当前 DataItem 与 A​​SP.NET Repeater 的绑定(bind)?

c# - 什么是 Repeater Tasks 流程?