我有一个asp:ListView
控件,其中包含如下设置的一堆图像:
<asp:ListView ID="lvSliderPhotos" runat="server">
<ItemTemplate>
<asp:Image ID="imgSliderPhoto" runat="server"
ImageUrl='<%# Eval("ThumbnailPath") %>' />
</ItemTemplate>
</asp:ListView>
对于包含这些的数据库表,我有一个名为IsPublic
的字段,它存储一个布尔值。如果值为false,如何将样式应用于asp:Image
控件?
我基本上想要这样的东西:
<asp:Image ID="imgSliderPhoto" runat="server"
ImageUrl='<%# Eval("ThumbnailPath") %>'
Style='<if (!Eval("IsPublic") { set a style property }>' />
知道如何实现这一目标吗?
答案 0 :(得分:3)
您可以检查图像控件的IsPublic
属性中CssClass
的值,并将其设置为所需的样式规则:
CssClass='<%# Convert.ToBoolean(Eval("IsPublic")) ? "public" : "private" %>'
完整示例:
<head runat="server">
<title></title>
<style type="text/css">
.public {
border: 6px solid red;
}
.private {
border: 6px solid black;
}
</style>
</head>
<body>
<asp:Image ID="Image1" runat="server" />
<form id="form1" runat="server">
<asp:ListView ID="lvSliderPhotos" runat="server">
<ItemTemplate>
<asp:Image ID="imgSliderPhoto" runat="server"
ImageUrl='<%# Eval("ThumbnailPath") %>' CssClass='<%# Convert.ToBoolean(Eval("IsPublic")) ? "public" : "private" %>' />
</ItemTemplate>
</asp:ListView>
</form>
</body>