User control (ascx) and properties

Jagd picture Jagd · Jul 24, 2009 · Viewed 10.7k times · Source

The only way I've found to persist property values within a user control is to use the ViewState.

public string Title {
        get { return Convert.ToString(ViewState["Title"]); }
        set { ViewState["Title"] = value; }
    }

I can't say I'm real impressed with this though, as the more properties a user control has the more crap you'll be sticking in the ViewState. Is there a better way to persist properties?

Answer

Sayed Ibrahim Hashimi picture Sayed Ibrahim Hashimi · Jul 24, 2009

It depends. If you need to property values to be persisted beyond a post-back then you'll either have to use ViewState or Session. Since those controls are re-created on each post back you can't really maintain that state otherwise.