Как сохранить вложенные свойства CompositeControl в ViewState - PullRequest
0 голосов
/ 13 марта 2009

У меня есть составной элемент управления, который имеет большое количество свойств, которые можно использовать для стилизации элемента управления. Я хочу сгруппировать эти свойства, но при этом сохранить некоторые свойства в ViewState Разметка для элемента управления будет выглядеть следующим образом:
например,

<cc:Test id="test">
    <Toolbar Items="add,delete" Enabled="true" />
    <Grid Enabled="true" AllowSort="true" AllowFilter="true" />
</cc:Test>

Мой код выглядит примерно так

<ParseChildren(true)> <PersistChildren(true)> _
Public Class Test Inherits CompositeControl

    Private _grid As New GridStyle();
    <PersistenceMode(PersistenceMode.InnerProperty)> _
    <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
    Public ReadOnly Property Grid As GridStyle
        Get
            Return _grid;
        End Get
    End Property
End Class

Public Class GridStyle
    private _allowFilter As Boolean = False;
    Public Property AllowFilter As Boolean
        Get
            Return _allowFilter
        End Get
        Set(value As Boolean)
            _allowFilter = value
        End Set
    End Property
End Class


ViewState недоступен из класса GridStyle, так как мне сохранить состояние свойства AllowFilter в ViewState?

1 Ответ

1 голос
/ 15 марта 2009

В вашем пользовательском элементе управления (или создании оболочек для стандартных элементов управления, используемых в пользовательском элементе управления) вам необходимо переопределить SaveViewState и LoadViewState

Это хорошо задокументировано в MSDN и в Интернете в целом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...