我在用户控件中使用了一个asp按钮,这个用户控件在另一个用户控件中,我想从第二个用户控件改变asp按钮的背面颜色,
我使用了以下代码,但颜色没有变化。当我使用btn.Text
更改按钮的文本时,这将更改,但是当我更改btn.BackColor
时,这不起作用。
Dim btn As Button = DirectCast(ucontrolLetterSelect.FindControl(buttonID), System.Web.UI.WebControls.Button)
btn.BackColor = System.Drawing.Color.Red
答案 0 :(得分:1)
您需要在用户控件上创建一个公开的属性,该按钮是您要更改的按钮。然后,您可以通过父用户控件设置此属性。
例如:
我有一个名为TestControl1.ascx的用户控件
我在这个用户控件上放了一个名为btnTest的按钮
我还在这个用户控件的代码隐藏中创建了一个名为SetUserControlButtonBackColor的公共属性。
Public Property SetUserControlButtonBackColor As Color
Get
Return mColor
End Get
Set(value As Color)
Me.btnTest.BackColor = value
End Set
End Property
我将此用户控件放入我的网页,并在我的网页上放置一个名为Button1的按钮
在Button1的click事件中,我设置了我的用户控件的public exposed属性,用于设置用户控件中按钮的背景颜色。
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.TestControl1.SetUserControlButtonBackColor = Drawing.Color.Aqua
End Sub
现在,当您单击网页上的按钮时,它将更改用户控件的颜色