Атрибуты ASP.NET HtmlTextArea и новая строка - PullRequest
0 голосов
/ 02 февраля 2010

Я хотел бы изменить некоторые атрибуты HtmlTextArea в веб-части SharePoint, которую я разрабатываю на C #. HtmlTextArea используется как настраиваемый дисплей для некоторых данных Sql Server 2005, которые я извлекаю, и я хотел бы изменить шрифт, цвет и т. Д. И сделать его доступным только для чтения. Я вижу, что есть несколько методов, таких как HtmlTextArea.Attributes.Add, HtmlTextArea.Attributes.AddAttributes и HtmlTextArea.Attributes.CssStyle, но я не уверен, являются ли они подходящими для использования или как их использовать , Я знаю, что с элементом управления ASP.NET TextArea я могу просто использовать встроенный CSS, поэтому я пытаюсь найти способ установить этот встроенный CSS из C #.

Кроме того, я хотел бы найти способ добавить новую строку между элементами управления, просто чтобы помочь в размещении. Я выложил все свои элементы управления в CreateChildControls, но я не понимаю, как я могу получить контроль над их размещением. Например, у меня есть что-то вроде:

    protected override void CreateChildControls()
    {
        customers = new DropDownList();
        customers.ID = "customers";
        Controls.Add(customers);

        machines = new DropDownList();
        machines.ID = "machines";
        Controls.Add(machines);

        specsOutput = new HtmlTextArea();
        specsOutput.ID = "specsOutput";
        Controls.Add(specsOutput);
    }

Я бы хотел, чтобы HtmlTextArea отображалось под ddls. Спасибо всем за помощь.

Ответы [ 3 ]

2 голосов
/ 02 февраля 2010

Чтобы добавить встроенный CSS, используйте Attributes.Add("style", "color: white; background-color: black"); и т. Д. И т. Д.

Вы можете добавить LiteralControls, чтобы помочь в макете вашего пользовательского элемента управления.

customers = new DropDownList();
customers.ID = "customers";
Controls.Add(customers);
Controls.Add(new LiteralControl("<br />"));
1 голос
/ 02 февраля 2010

Чтобы управлять отображением элемента управления, вы можете переопределить событие Render, например:

protected override void Render(HtmlTextWriter writer)
{
    customers.RenderControl(writer);
    writer.Write("<br />");
    machines.RenderControl(writer);
    writer.Write("<br />");
    specsOutput.RenderControl(writer);
}

Как отмечает womp , можно добавить встроенные стили с помощью метода Attributes.Add в элементах управления.

0 голосов
/ 02 февраля 2010

Если вы хотите отойти от этого довольно неуклюжего способа создания пользовательского интерфейса веб-части, вы можете загрузить ASCX, и ваш опыт проектирования веб-части будет похож на любой пользовательский элемент управления ... намного лучше.

пример

...