|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Dirty property value persist problem in asp.net custom controlI created a custom control, and encountered a dirty property value persistence problem. I created a property with a custom class type, call SQLSettings which holds the SQL connection parameters, the class as follows: public sealed class SQLSettings { private string serverName; ....... public SQLSettings() { this.serverName = string.Empty; ...... } [NotifyParentProperty(true)] public string ServerName { get { return this.serverName; } set { this.serverName = value; } } ................... And, I also created an mapping TypeConverter and UITypeEditor classes to handle the design-time founctinality. The property I created in my conbtrol as follows: [BrowsableAttribute(true)] [CategoryAttribute("Behavior")] [BindableAttribute(true)] [NotifyParentProperty(true)] [EditorAttribute(typeof(SQLSettingsUITypeEditor), typeof(UITypeEditor))] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [TypeConverter((Type)typeof(SQLSettingsTypeConverter))] [PersistenceModeAttribute(PersistenceMode.InnerProperty)] public SQLSettings SQLSettingsData { get { return this._sqlSettings; } set { this._sqlSettings = value; } } They all works fine when first set value to this property, I can see the persisted data showed in .aspx file. When I go back to design view and update the property value via my UITypeEditor, I can see the value already updated in VS.NET properties browser. But when I turn to see ..aspx file in code view, I didn't see the dirty property value updated in .aspx file. When I turn to design view, the updated property value is lost, it remain keep the first persisted value. How about to solve this problem? Any idea? Thank you for your kindly help. |
|||||||||||||||||||||||