Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将CSS类设置为选定的ASP.NET Listview项_C#_Css_Asp.net_Listview - Fatal编程技术网

C# 将CSS类设置为选定的ASP.NET Listview项

C# 将CSS类设置为选定的ASP.NET Listview项,c#,css,asp.net,listview,C#,Css,Asp.net,Listview,我有一个列表视图,我希望在单击时突出显示项目。 使用下面的代码,我可以设置CSS类。但是foreach循环以前没有清除css类集 <asp:ListView ID="ListView2" runat="server" SelectedIndex="0" onitemcommand="ListView2_ItemCommand"> <ItemTemplate> <asp:Panel ID="Panel8" runat="server" CssC

我有一个列表视图,我希望在单击时突出显示项目。 使用下面的代码,我可以设置CSS类。但是foreach循环以前没有清除css类集

<asp:ListView ID="ListView2" runat="server" SelectedIndex="0" onitemcommand="ListView2_ItemCommand">
    <ItemTemplate>
        <asp:Panel ID="Panel8" runat="server" CssClass="left-listitem-div">
            <asp:Image ID="Image1" runat="server" AlternateText="User Icon" ImageUrl='<%# Eval("UserType").ToString() == "AD_USER" ? "Images/icons/ldapuser32px.png" : "Images/icons/user32px.png"  %>'  CssClass="list-group-icon" />
            <asp:Label ID="ListUserID" runat="server"  Text ='<%#Eval("UserID") %>' CssClass="list-group-id" style="display:none;" />
            <asp:LinkButton ID="ListFullName" runat="server" Text='<%#Eval("FullName") %>' CssClass="list-group-name" CommandName="select" CommandArgument = '<%# Eval("UserID") %>'  Font-Underline="False" ForeColor="Black" Width="130" Height="30" />
            <asp:Label ID="ListUserName" runat="server" Text='<%#Eval("UserName") %>' CssClass="list-group-username" style="display:none;"  />
            <asp:Label ID="ListUserType" runat="server" Text='<%#Eval("UserType") %>' CssClass="list-group-usertype" style="display:none;"  />
            <asp:Label ID="ListUserEnabled" runat="server" Text='<%#Eval("Enabled") %>' CssClass="list-group-enabled" style="display:none;"  />
            <asp:Label ID="ListUserDescription" runat="server" Text ='<%#Eval("Description") %>' CssClass="list-group-descri" style="display:none;" />
        </asp:Panel>
    </ItemTemplate>
</asp:ListView>

好的,不要更改事件,因为您使用commandEventargs。 只需设置listview的SelectIndex,然后更改该项的css

protected void ListView2_ItemCommand(object sender, ListViewCommandEventArgs e)
    {
        (sender as ListView).SelectedIndex = e.Item.DataItemIndex;
        (e.Item.FindControl("Panel8") as Panel).CssClass += "SelectedCss";
    }
在循环中,您总是引用当前选定的项,这是您的问题。 将循环更改为:-->li

foreach (ListViewItem li in ListView2.Items)
    {
        Panel lipp = (Panel)li.FindControl("Panel8");
        lipp.CssClass = "left-listitem-div";
    }

嗨,我已经测试过了。“选定样式”设置工作正常。但是,foreach循环中的一个(重置其他项的样式)根本不起作用。
foreach (ListViewItem li in ListView2.Items)
    {
        Panel lipp = (Panel)li.FindControl("Panel8");
        lipp.CssClass = "left-listitem-div";
    }