c# - Persisting a collection backed by viewstate in a CompositeControl -


maybe it's been long day i'm having trouble persisting collection backed asp.net viewstate in compositecontrol. here's simplified version:

public class mycontrol : compositecontrol {   public collection<myobject> myobjectcollection   {     {        return (collection<myobject>)viewstate["coll"] == null ?          new collection<myobject>()         : (collection<myobject>)viewstate["coll"];     }     set { viewstate["coll"] = value; }   } }   public partial class testpage : system.web.ui.page {   protected void btn_click(object sender, eventargs e)   {       mycontrol1.myobjectcollection.add(new myobject());   } } 

when button clicked, event hander btn_click executes fine, setter myobjectcollection never gets called, hence new myobject() never gets persisted.

i think i'm having blonde moment. fancy helping out?

calling add() on collection isn't same calling setter on myobjectcollection property.

it's reason tools fxcop suggest don't have setters on collection properties - either make setter private or remove completely.

you may need implement own collection type , override add , remove methods, such when called, persistence code executed.


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -