2017-10-15 3 views
0

Ich versuche, auf ein Steuerelement zuzugreifen, das in einer DataList-ItemTemplate geschachtelt ist. Für das Leben von mir kann ich nicht verstehen, was ich falsch mache. Ein Beispiel:So greifen Sie auf verschachtelte ASP-Steuerelemente in der DataList-Objektvorlage zu

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

    <!DOCTYPE html> 

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
     <title></title> 
    </head> 
    <body> 
     <form id="form1" runat="server"> 
      <div> 
      </div> 
      <asp:DataList ID="DataList1" runat="server"> 
       <ItemTemplate> 
        <asp:Label ID="lblSavings" runat="server" Text="Label"></asp:Label> 
       </ItemTemplate> 
      </asp:DataList> 
     </form> 
    </body> 
    </html> 

Im Code hinter ich die „lblSavings“ Label-Steuerelement als solche zuzugreifen versuche:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     lblSavings.Text = "String"; 
    } 
} 

Es ist wie der Code-behind nicht kann, dass die Kontrolle oder etwas sehen. Vermisse ich irgendwo einen Schritt oder bin ich einfach nur verrückt?

Vielen Dank!

+0

ist das ein Kompilierungsfehler? Ich würde versuchen, seinen Wert im Ereignis "itemDataBound" des Datenträgers einzustellen ... –

Antwort

0
Hope this will help you. 
Feel free to ask if got any query. 

protected void Page_Load(object sender, EventArgs e) 
{ 
      Label lbl = Datalist1.Item.FindControl("lblSavings") as Label; 
} 

or at time of item bound 

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs 
e) 
{ 
Label Label1 = e.Item.FindControl("lblSavings") as Label; 
} 
Verwandte Themen