2009-03-18 15 views
78

Hiện tại tôi đang cố sửa đổi thuộc tính kiểu css cho 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. Trong hình thức đơn giản sau đây là bản chất những gì tôi đang cố gắng để làm nhưng tôi nhận được lỗi.Làm cách nào để bạn sửa đổi kiểu trong mã đằng sau tệp cho các div trong ASP.net?

Đây là mã của tôi:

ASPX:

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

mã sau:

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

Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn!

Trả lời

130
testSpace.Style.Add("display", "none"); 
+5

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

+1

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

+0

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

68

Đây là một HtmlGenericControl vì vậy không chắc chắn về cách khuyến khích để làm điều này là, vì vậy bạn cũng có thể làm:

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

hoặc

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

hoặc

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

hoặc

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

Hy vọng rằng sẽ giúp, Nick

+0

Cách thuộc tính là cách tôi đã luôn luôn thực hiện nó. Nó hoạt động ... – user69889

+0

Điều này cũng đúng - nhưng Andy đã trả lời trước để anh ta nhận được nó. Nếu tôi có thể làm nhiều hơn một câu trả lời tôi sẽ kiểm tra cả hai! – EverTheLearner

12

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

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

hoặc

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

trong vb.net bạn có thể làm theo cách này:

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

Tôi gặp sự cố khi sử dụng 'testSpace.Style.Item (" display ") =" none ";' trên điều khiển nhãn trong .NET 4.0. Tôi đã nhận được lỗi '' System.Web.UI.CssStyleCollection 'không chứa một định nghĩa cho' Item '. . . '. Điều đó có cụ thể đối với một phiên bản .NET cụ thể không? –

+1

tôi xin lỗi. đầ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 mình –

Các vấn đề liên quan