ASP.NET'te div'ler için arka plan kodundaki bir CSS stilini nasıl değiştirirsiniz?


97

Bir div için CSS stil özniteliğini, aspx sayfamın arkasındaki kodda bulunan bir veritabanı tablosundan aldığım bilgilere göre değiştirmeye çalışıyorum. Aşağıdakiler aslında yapmaya çalıştığım şeydir, ancak hatalar alıyorum.

Aspx:

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

Arkasındaki Kod:

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

Neyi yanlış yapıyorum?

Yanıtlar:


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

6
testSpace.Attributes.Add ("stil", "display: yok;"); aynı zamanda işe yarar.
Robert C. Barth

2
O kadar emin değilim Robert, bence bu çizgi, her iki stili de birleştirmek yerine mevcut stili yenisiyle değiştirecek.
Necriis

1
Bu, yararlı bir şekilde, mevcut bir stilin yerini alır, örneğin, bir sınıf özelliğini tamamen değiştirmek isteyebilirsiniz.
Andrew Morton

74

Bu bir HtmlGenericControl olduğundan, bunu yapmanın önerilen yolunun ne olduğundan emin değilsiniz, bu nedenle şunları da yapabilirsiniz:

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

veya

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

veya

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

veya

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

15

Bunu yapmanın başka bir yolu:

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

veya

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

vb.net'te bunu şu şekilde yapabilirsiniz:

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

testSpace.Style.Item("display") = "none";.NET 4.0'da bir etiket denetiminde kullanırken sorun yaşadım . Hatayı aldım 'System.Web.UI.CssStyleCollection' does not contain a definition for 'Item' . . . . Bu, belirli bir .NET sürümüne özel mi?
Adam Miller

1
Üzgünüm. ilki VB.net yaklaşımıydı. cevabımı düzenleyeceğim
Nikolaj Zander

0

Eğer ediyorsanız newbir öğe yukarı ing başlatıcı sözdizimi , böyle bir şey yapabilirsiniz:

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

Veya CssStyleCollectionözellikle kullanıyorsanız :

var row = new HtmlTableRow
{
  Cells =
  {
    new HtmlTableCell
    {
        InnerText = text,
        Style = { ["min-width"] = "35px" }
    },
  }
};
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.