2009-10-19 43 views
5

Bên trong ItemTemplate của một repeater có một:Thay đổi lớp CSS của một phần tử trên runtime

<tr class="class1"> 

</tr> 

Tôi muốn lớp này được đổi thành "class2" theo một valu rằng giáp để lặp lại này, Eval ("Đã khóa").

Nếu bị khóa == true class = "class1" else class = "class2", làm cách nào tôi có thể thực hiện theo cách đơn giản?
(trong mã đằng sau đó là đến phức tạp)

Trả lời

7

Thực sự đơn giản, chỉ cần đặt một thẻ serverside:

<asp:Repeater ID="yourRepeater" runat="server"> 
    <ItemTemplate> 
     .... 
     <tr class='<%# Convert.ToBoolean(Eval("Locked")) ? "class1" : "class2" %>'> 
      .... 
     </tr> 
     .... 
    </ItemTemplate> 
</asp:Repeater> 

UPDATE: Cảm ơn Kobi, tôi đã bỏ lỡ Convert.ToBoolean() :)

+0

Liệu mà biên dịch? Điều đó không phải là "đúng" .Equals (...) '? IIRC, eval trả về một đối tượng. – Kobi

+0

Bạn nói đúng, tôi đã bỏ lỡ sự hội tụ. – tanathos

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