更改用户控件中标签文本的最佳方法是什么?

时间:2010-01-31 01:44:57

标签: asp.net vb.net

我有一个带有标签的用户控件。我有一个主页面,我已经删除了用户控件。我有其他.aspx页面使用具有用户控件的母版页。

从.aspx页面更改用户控件上该标签文本的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

您有几个选项,但最好的方法是在用户控件上创建一个包装标签的text属性的方法,并允许用户传入一个值,而该值又分配给标签{{1属性。

然后在您的母版页上创建另一个接受字符串参数的方法,并将该值传递给用户控件上的方法。然后,您可以通过网络表单在主页面上调用此方法。

因此,在您的用户控件上添加如下方法:

Text

然后在您的母版页中添加一个方法:

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

这可能感觉有些过分,但这种抽象对于减少组件之间的耦合是必要的。这种方法还为您提供了很大的灵活性,因为可以在不影响其他组件的情况下进行更改。例如,如果重命名标签控件,则无需更改设置其文本值的Web表单,因为Web表单不会知道(或关心)标签的名称,只知道如何设置其显示值。