Hej har ett problem att jag vill hitten en label från tidigare sida och vill använda mig av findcontrol, men lyckas inte. Tillhör sidorna samma webbapp, om inte kan du använda Request-objektet. Samma Webbapp, men jag upptäckte att jag gjort fel, pinsamt att erkänna men..... Visa hur du bygger upp din sida samt hur du försöker hämta värden på sida 2? Tack Daniel för hjälpen, ett stort tackHitta en ex. label från tidigare sida, BEHÖVER HJÄLP SNABBT
Dim i As DataList = New DataList
i = CType(PreviousPage.FindControl("MyCars"), DataList).ItemTemplate
Response.Write(i.TemplateControl.FindControl("lblRegValue"))
Felmeddelande:Objektreferensen har inte angetts till en instans av ett objekt.
HÄR-> i = CType(Page.PreviousPage.FindControl("MyCars"), DataList)
Response.Write(i.TemplateControl.FindControl("lblRegValue"))Sv: Hitta en ex. label från tidigare sida, BEHÖVER HJÄLP SNABBT
Sv:Hitta en ex. label från tidigare sida, BEHÖVER HJÄLP SNABBT
Jag hade lagt delar av koden ovanför page_load, men trots detta fick jag fel.
I datalist så ligger lbl i en template, men det skall ju gå att hämta en då, är det fel på koden, som jag postade tidigare?Sv: Hitta en ex. label från tidigare sida, BEHÖVER HJÄLP SNABBT
Skapade en sida lite snabbt och det fungerar fint.....
Sida 1:
----------------------------------------
<form id="form1" runat="server">
<div>
<asp:panel id="pnlTest" runat="server">
<asp:button id="Button1" runat="server" text="Button" postbackurl="~/Default2.aspx" /><br />
<asp:datalist id="DataList1" runat="server">
<itemtemplate>
<asp:label id="myLabel" runat="server" text='<%# Eval("Value") %>'></asp:label>
</itemtemplate>
</asp:datalist></asp:panel> </div>
</form>
----------------------------------------
Sida 2-CodeBehind:
----------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
foreach (Control ctrl in this.PreviousPage.Controls)
this.OutputCtrl(ctrl);
}
private void OutputCtrl(Control ctrl) //Väldans ful metod men ville bara se snabbt att det fungerar
{
foreach (Control ctrlItem in ctrl.Controls)
{
this.Response.Write(ctrl.ID + "::" + ctrlItem.ID + ";" + ctrlItem.ClientID + "<br />");
if (ctrlItem.HasControls())
this.OutputCtrl(ctrlItem);
if (ctrlItem is Label)
this.Response.Write("Label.Text:" + (ctrlItem as Label).Text);
}
}
----------------------------------------Sv:Hitta en ex. label från tidigare sida, BEHÖVER HJÄLP SNABBT