Атрибуты пользовательского элемента управления во время разработки

Я тестирую простой пользовательский элемент управления в Visual Studio 2008: панель с именем Wrapper с некоторыми элементами управления внутри. Может ли Visual Studio справиться с этим во время разработки?

public partial class TestControl : System.Web.UI.UserControl
{
    [Description("Css class of the div around the control.")]
    [CssClassProperty]
    public string CssClass
    {
        get { return Wrapper.CssClass; }
        set { Wrapper.CssClass = value; }
    }
}

При установке свойства CssClass он не обновляет CSS Panel во время разработки. Я слишком на многое надеюсь?


person ciscoheat    schedule 22.03.2010    source источник


Ответы (2)


Я думаю, вам нужно проверить родителя и бросить его

if(this.Parent is Panel)
{
   ((Panel)this.Parent).CssClass = value;
}

Или похожие.

person phil    schedule 06.05.2010

Проектирование страниц может быть большой головной болью в VS IDE, поскольку IDE не знает о CSS, загружаемом вашим ASPX, когда этот контент загружается с помощью кода программной части или глобального заголовка страницы, который наследуется всем вашим сайтом (например, через подклассы of PAGE.) Это делает использование VS IDE довольно сложным для разработки этих подстраниц / элементов управления / и т.д. таблица стилей и, вполне возможно, обслуживает первую ссылку еще до объявления.

Вот один из способов заставить Visual Studio использовать произвольный CSS в среде IDE, минуя это, поэтому вы можете создавать элементы управления с помощью CSS, о существовании которых разработчик не подозревает на обслуживаемой странице. Таким образом, вы можете использовать это, чтобы сделать CSS доступным во время разработки в редакторе, но НЕ во время отладки или выполнения. Я совершенно уверен, что это сработает и в вашем сценарии.

Вставьте это:

<% 
#If 0 Then
%>    
    <link rel='stylesheet' href='mycss.css' type='text/css' />        
<%
#End If
%>

Это загрузит вашу таблицу стилей только в HTML-дизайнер IDE.

person zax    schedule 02.08.2014