Як змінити стиль CSS у коді, що стоїть за файлом для div в ASP.NET?


96

Я намагаюся змінити атрибут стилю CSS для div на основі інформації, яку я отримую з таблиці бази даних у коді позаду моєї сторінки aspx. Наступне - це, по суті, те, що я намагаюся зробити, але я отримую помилки.

Aspx:

<div id="testSpace" runat="server">
    Test
</div>

Код позаду:

testSpace.Style = "display:none;"    
testSpace.Style("display") = "none";

Що я роблю неправильно?

Відповіді:


155
testSpace.Style.Add("display", "none");

6
testSpace.Attributes.Add ("style", "display: none;"); також спрацює.
Роберт К. Барт,

2
Не дуже впевнений, Роберте, я думаю, що цей рядок замінить існуючий стиль новим замість того, щоб поєднувати обидва стилі.
Necriis

1
Корисно, це замінює існуючий стиль, наприклад, ви можете повністю змінити атрибут класу.
Ендрю Мортон,

74

Це HtmlGenericControl, тому не впевнені, що це рекомендований спосіб зробити, тому ви також можете зробити:

testSpace.Attributes.Add("style", "text-align: center;");

або

testSpace.Attributes.Add("class", "centerIt");

або

testSpace.Attributes["style"] = "text-align: center;";

або

testSpace.Attributes["class"] = "centerIt";

15

Ще один спосіб зробити це:

testSpace.Style.Add("display", "none");

або

testSpace.Style["background-image"] = "url(images/foo.png)";

у vb.net ви можете зробити це таким чином:

testSpace.Style.Item("display") = "none"

У мене виникли проблеми з використанням testSpace.Style.Item("display") = "none";елементів керування мітками в .NET 4.0. Я отримав помилку 'System.Web.UI.CssStyleCollection' does not contain a definition for 'Item' . . . . Це специфічно для конкретної версії .NET?
Адам Міллер

1
Вибачте. першим був підхід VB.net. я відредагую свою відповідь
Микола Зандер

0

Якщо ви newстворюєте елемент із синтаксисом ініціалізатора , ви можете зробити щось подібне:

var row = new HtmlTableRow
{
  Cells =
  {
    new HtmlTableCell
    {
        InnerText = text,
        Attributes = { ["style"] = "min-width: 35px;" }
    },
  }
};

Або якщо використовується CssStyleCollectionспеціально:

var row = new HtmlTableRow
{
  Cells =
  {
    new HtmlTableCell
    {
        InnerText = text,
        Style = { ["min-width"] = "35px" }
    },
  }
};
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.