Làm cách nào để bạn sửa đổi kiểu CSS trong mã phía sau tệp cho div trong ASP.NET?


96

Tôi đang cố gắng sửa đổi thuộc tính kiểu CSS cho một div dựa trên thông tin tôi nhận được từ bảng cơ sở dữ liệu trong mã phía sau trang aspx của tôi. Sau đây về cơ bản là những gì tôi đang cố gắng thực hiện, nhưng tôi gặp lỗi.

Aspx:

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

Mã ẩn:

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

Tôi đang làm gì sai?

Câu trả lời:


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

6
testSpace.Attributes.Add ("style", "display: none;"); cũng sẽ hoạt động.
Robert C. Barth

2
Không chắc lắm Robert, tôi nghĩ dòng này sẽ thay thế kiểu hiện có bằng kiểu mới thay vì hợp nhất cả hai kiểu.
Necriis

1
Một cách hữu ích, điều này thay thế một kiểu hiện có, ví dụ: bạn có thể muốn thay đổi hoàn toàn một thuộc tính lớp.
Andrew Morton

74

Đó là một HtmlGenericControl nên bạn không chắc cách đề xuất để thực hiện việc này là gì, vì vậy bạn cũng có thể làm:

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

hoặc là

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

hoặc là

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

hoặc là

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

15

Một cách khác để làm điều đó:

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

hoặc là

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

trong vb.net, bạn có thể thực hiện theo cách này:

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

Tôi đã gặp sự cố khi sử dụng testSpace.Style.Item("display") = "none";điều khiển nhãn trong .NET 4.0. Tôi nhận lỗi 'System.Web.UI.CssStyleCollection' does not contain a definition for 'Item' . . . . Điều đó có dành riêng cho một phiên bản .NET cụ thể không?
Adam Miller

1
tôi xin lỗi. cách đầu tiên là cách tiếp cận VB.net. tôi sẽ chỉnh sửa câu trả lời của tôi
Nikolaj Zander

0

Nếu bạn đang nhập newmột phần tử có cú pháp trình khởi tạo , bạn có thể làm như sau:

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

Hoặc nếu sử dụng CssStyleCollectioncụ thể:

var row = new HtmlTableRow
{
  Cells =
  {
    new HtmlTableCell
    {
        InnerText = text,
        Style = { ["min-width"] = "35px" }
    },
  }
};
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.