2010-01-31 2 views
4

У меня есть User Control с меткой на нем. У меня есть главная страница, на которую я отключил элемент User Control. У меня есть другие страницы .aspx, которые используют главную страницу, на которой есть пользовательский элемент управления.Каков наилучший способ изменить текст метки в пользовательском элементе управления?

Каков наилучший способ изменить текст этой метки в пользовательском элементе управления с страницы .aspx?

ответ

5

У вас есть несколько вариантов, но наилучшим способом было бы создать метод в пользовательском элементе управления, который обертывает текстовое свойство вашей метки и позволяет пользователям передавать значение, которое вы, в свою очередь, присваиваете свойству ,

Затем создайте другой метод на вашей главной странице, который принимает строковый параметр и передает это значение методу в вашем пользовательском элементе управления. Затем вы можете вызвать этот метод на своей главной странице из своей веб-формы.

Так что на ваш пользовательский элемент управления добавить метод, как это:

Public Sub SetDisplayText(ByVal displayText As String) 
    SomeLabel.Text = displayText 
End Sub 

затем добавить метод к вашей мастер-страницы, как это:

Public Sub SetDisplayText(ByVal displayText As String) 
    SomeUserControl.SetDisplayText(displayText) 
End Sub 

Теперь ваша веб-форма может вызвать SetDisplayText метод на мастер-страницу, чтобы установить текст на этикетке пользовательского элемента управления:

Dim masterPage As SomeMasterPage = TryCast(Me.Master, SomeMasterPage) 

If masterPage IsNot Nothing Then 
    masterPage.SetDisplayText("foo") 
End If 

Это может чувствуйте себя излишним, но этот вид абстракции необходим для уменьшения связи между вашими компонентами. Этот подход также дает вам большую гибкость в продвижении вперед, поскольку изменения могут быть сделаны без влияния на другие компоненты. Например, если вы переименуете свой элемент управления меткой, вам не нужно будет менять веб-форму, задающую ее текстовое значение, поскольку веб-форма не будет знать (или не заботится) о том, что называется меткой, только как установить ее отображаемое значение.

Смежные вопросы