Какой способ программной ссылки на класс CSS является наиболее надежным?

В моем проекте Sharepoint я динамически создаю элементы управления в переопределенном методе CreateChildControls(). Я не знаю, какой из двух способов ссылки на файл.css предпочтителен:

protected override void CreateChildControls()
{
    base.CreateChildControls();

    // Way 1
    // from http://sharepoint.stackexchange.com/questions/18652/programmatically-add-js-css-to-pages
    this.Controls.Add(new CssRegistration()
    {
        Name = "/_layouts/ucsc_web_forms.css"
    });

    // Way 2
    HtmlLink cssLink = new HtmlLink();
    cssLink.Attributes.Add("type", "text/css");
    cssLink.Attributes.Add("rel", "stylesheet");
    cssLink.Attributes.Add("href", "/_layouts/duckbilled_platypi_rus.css");
    this.Page.Header.Controls.Add(cssLink);

    boxPayeeName = new TextBox();
    boxPayeeName.CSSClass = "duck-billed-platypi";
    boxPayeeName.Columns = LONG_TEXT_BOX_COL_WIDTH;
}

... но фигура одного из них, по крайней мере, должна сработать. Является ли одна методология предпочтительнее другой?

ОБНОВИТЬ

Основываясь на эмпирических наблюдениях (эмпирические удары наносят ответный удар), второй "путь" ломает WebPart, по крайней мере, мой. Первый:

this.Controls.Add(new CssRegistration()
{
    Name = "/_layouts/ucsc_web_forms.css"
});

... по крайней мере "не вредит"

1 ответ

Решение

Это работает для меня (при условии, что ваш проект имеет файл CSS с именем "ucsc_web_forms.css", который имеет классы с именами "finaff-webform-field-label" и "finaff-webform-field-input"):

Добавьте следующее в CreateChildControls() после "base.CreateChildControls();":

this.Controls.Add(new CssRegistration()
{
    Name = "/_layouts/ucsc_web_forms.css"
});

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

LiteralControl reqDateStr = new LiteralControl("<span class=\"finaff-webform-field-label\">Requester Date:</span>");
. . .
boxPayeeName = new TextBox();
boxPayeeName.CssClass = "finaff-webform-field-input";
Другие вопросы по тегам