Chris
Chris

Reputation: 7621

User Control losing properties on postback

I have a user control which has a number of properties. This user control is placed inside a TemplateField of a GridView, and the properties are databound from the grid's datasource. On the user control I have some LinkButton's which carry out actions, using some of the properties as properties (e.g. I pass in a row's ID)

The values go into it fine, but as soon as the LinkButton is clicked on the usercontrol, the properties reset to null so the LinkButton action doesn't work. What could cause this? I have made sure ViewState is enabled.

EDIT: Some code:

Properties:

public long? _InvoiceID;
[PersistenceMode(PersistenceMode.Attribute)]
[Bindable(BindableSupport.Yes)]
public long? InvoiceID {get { return _InvoiceID; } set { _InvoiceID = value; } }

Upvotes: 0

Views: 2299

Answers (1)

Amir Ismail
Amir Ismail

Reputation: 3883

try to save values you passed to user control into Hidden fields within your user control and when you click the LinkButton read the hidden field value

Update

the variable long? _InvoiceID is a stateless so you can try this

[PersistenceMode(PersistenceMode.Attribute)]
[Bindable(BindableSupport.Yes)]
public long? InvoiceID 
{
   get { 
         return (long?)_InvoiceIDHiddenn.Value; 
       } 
   set {
          _InvoiceIDHiddenn.Value = value; 
       } 
}

Upvotes: 1

Related Questions