C# 如何在ASP.NET数据列表中显示驱动器是否已满?
我正在使用数据列表,我目前正在使用的这个特定数据列表从数据库检索数据。它查询数据库中特定PC的驱动器,并显示其总空间和可用空间。数据列表中的行应如下所示:C# 如何在ASP.NET数据列表中显示驱动器是否已满?,c#,asp.net,datalist,drive,C#,Asp.net,Datalist,Drive,我正在使用数据列表,我目前正在使用的这个特定数据列表从数据库检索数据。它查询数据库中特定PC的驱动器,并显示其总空间和可用空间。数据列表中的行应如下所示: Drive Total Free Label C:/ 84.3 22.2 NFTS D:/ 64.2 21.3 NFTS E:/ 22.2 11.1 DVD
Drive Total Free Label
C:/ 84.3 22.2 NFTS
D:/ 64.2 21.3 NFTS
E:/ 22.2 11.1 DVD
要求是,如果可用空间为10%或以下,则行的字体应为红色,否则为绿色。这是我的密码:
<asp:DataList ID="DataList1" runat="server" BackColor="#FFFF99"
BorderColor="Black" BorderWidth="2px" CellPadding="4" Font-Bold="False"
Font-Italic="False" Font-Overline="False" Font-Size="Small" Font-Strikeout="False"
Font-Underline="False" RepeatDirection="Horizontal" style="z-index: 1; left: 421px; top: 137px; position: absolute; height: 132px; width: 495px"
ForeColor="#333333" GridLines="Vertical" DataSourceID="DriveInfo">
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingItemStyle BackColor="#FFFBD6" Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False" />
<ItemStyle BackColor="#FFFBD6" Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False" ForeColor="#333333" />
<SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<ItemTemplate>
DriveName:
<asp:Label ID="DriveNameLabel" runat="server" style="font-weight: 700" Text='<%# Eval("DriveName") %>' />
<br />
Total: <b>
<asp:Label ID="TotalLabel" runat="server" Text='<%# Eval("Total") %>' />
GB</b><br />
Free: <b>
<asp:Label ID="FreeLabel" runat="server" Text='<%# Eval("Free") %>' />
GB</b><br />
Label:
<asp:Label ID="LabelLabel" runat="server" style="font-weight: 700" Text='<%# Eval("Label") %>' />
<br />
<br />
</ItemTemplate>
</asp:DataList>
驱动器名:
总数:
GB
免费:
GB
标签:
您可以如下设置asp:标签的CssClass属性:
<asp:Label ID="FreeLabel" runat="server" Text='<%# Eval("Free") %>' CssClass='<%# float.Parse(Eval("Free")) / float.Parse(Eval("Total")) < 0.10 ? "red" : "" %>' />
我得到一个编译器错误“float.Parse(string)”的最佳重载方法匹配有一些无效参数”float.Parse接受一个字符串参数。我猜您已经在处理float了,请尝试删除float.Parse调用。这也行不通,因为如果我去掉float.Parse(),这意味着我将把Free和Total作为对象分开。我试着让它们漂浮,但也没用。好吧。那么float.Parse(Eval(“Free”).ToString()如何?
.red {
color: red;
}