
Problém s FormView.FindControl v ASP.NET
Zdravím všechny.
Začínám s ASP.NET v C#. Pracuji ve VS2013 Ultimate FW 4.5.
Vztvořil jsem aplikaci, ve které mám FormView s Labely. Tyto u těchto Labelů potřebuji upravovat vlastnosti, jako barvu textu v závislosti na textovém obsahu. Napčíklad "Vyhovuje" - zelená, "Nevyhovuje" - červená a pod.
Napsal jsem to takto:
if ((FormView1.FindControl("MeasGlobalStatusLabel") as Label).Text == "Vyhovuje")
{
(FormView1.FindControl("MeasGlobalStatusLabel") as Label).ForeColor = System.Drawing.Color.Green;
}
else if ((FormView1.FindControl("MeasGlobalStatusLabel") as Label).Text == "Nevyhovuje")
{
(FormView1.FindControl("MeasGlobalStatusLabel") as Label).ForeColor = System.Drawing.Color.Red;
}
ale po spuštění mi server vyhodí chybu:Odkaz na objekt není nastaven na instanci objektu.
Popis: Při provádění aktuálního webového požadavku došlo k neošetřené výjimce. Další informace o chybě a o jejím původu v kódu naleznete v trasování zásobníku.
Podrobnosti o výjimce: System.NullReferenceException: Odkaz na objekt není nastaven na instanci objektu.
Zdrojová chyba:
Řádek 14:
Řádek 15: Label lbl2 = new Label();
Řádek 16: lbl2.Text = (FormView1.FindControl("StatusLabel") as Label).Text;
Řádek 17: lbl2.BackColor = System.Drawing.Color.Red;
Řádek 18:
Zdrojový soubor: g:\C#\Programování\2013\Zkoska1\Zkoska1\Default.as px.cs Řádek: 16
Trasování zásobníku:
[NullReferenceException: Odkaz na objekt není nastaven na instanci objektu.]
Zkoska1._Default.Page_Load(Object sender, EventArgs e) in g:\C#\Programování\2013\Zkoska1\Zkoska1\Default.as px.cs:16
System.Web.Util.CalliEventHandlerDelegateProxy.Cal lback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
Můžete mi někdo poradit co s tím?
Děkuji za drahocenné rady.