В моем проекте ASP.NET Webforms есть простой пользовательский элемент управления, который наследуется от LinkButton. У него есть свойство для изменения размера, которое просто добавляет некоторые предопределенные классы CSS к элементу управления.
Protected Overrides Sub CreateChildControls()
Dim SizeClass As String = String.Empty
If Size = SizeEnum.Large Then
SizeClass = "large"
Else
SizeClass = "small"
End If
Me.CssClass += " button " + SizeClass
Me.Controls.Add(New LiteralControl(String.Format("<span class=""l"">{0}</span><span class=""r""></span><span class=""clear""></span>", Me.Text)))
MyBase.CreateChildControls()
End Sub
Довольно просто, верно? Поэтому, когда он отображает, свойство класса выглядит примерно так: class="button small"
.
Когда этот элемент управления помещается внутри панели обновления вместе с некоторыми другими вещами, когда панель обновления обновляет свойство класса, для каждого из этих элементов управления становится class=" button small button small button small button small button small button small button small button small button small button small button small button small button small"
Что немного смешно. Есть идеи, почему это происходит?