Tôi có chế độ xem danh sách với điều khiển HyperLink trong ItemTemplate. Tôi muốn hiển thị liên kết nếu giá trị trả về là 0 (sai) và không hiển thị liên kết nếu nó là 1 (đúng).Casting Eval ("bitValue") là Bool
Cho đến nay tôi có điều này:
<asp:HyperLink runat="server" ID="lnkReview"
NavigateUrl='<%# Eval("EnquiryID", @"selectcompany.aspx?enq={0}")%>'
Text="Review Enquiry"
Visible='<%# ((bool)Eval("Locked"))==true? false : true %>' />
... nhưng điều này làm cho một 'diễn viên chỉ định không có giá trị' ngoại lệ.
Ví dụ tôi đã thấy ở những nơi khác, việc này sẽ hoạt động. Tôi có thể xác nhận rằng các cột bị khóa chỉ trả về 0 hoặc 1 (từ SQL Server) - chắc chắn những nên được dễ dàng đúc từ bit/int để bool ??
'((int) Eval (" Locked ")) == 1' là đủ. – leppie
Tôi có thể thề tôi thực sự đã thử điều này. Phần khó hiểu là trường thực sự là một chút và do đó không thể là> 1, do đó tôi mong đợi để có thể đưa nó vào bool. Tuy nhiên, coi nó như một công trình int, và đó là điều quan trọng! Cảm ơn. – CJM
@leppie - '((int) Eval (" Locked "))! =!' - không ai có vẻ bị phát hiện, logic đã bị đảo ngược ... nhưng điểm lấy .. :) – CJM