C# 访问ASP ListView中的每个项目

C# 访问ASP ListView中的每个项目,c#,html,asp.net,css,C#,Html,Asp.net,Css,我试图使奇数浮动:左和偶数浮动:右。然而,很明显,无论列表中有多少项,每个项都是奇数和元素1。我如何在CSS中访问它。显然,由于每个项都是1,因此:第n个子项(奇数){float:left;}和:第n个子项(偶数){float:right;}不起作用。您还可以通过其他方式访问它们 其结构如下: <div class="options"> <asp:ListView ID="ListView1" runat="ser

我试图使奇数
浮动:左
和偶数
浮动:右
。然而,很明显,无论列表中有多少项,每个项都是奇数和元素1。我如何在CSS中访问它。显然,由于每个项都是
1
,因此
:第n个子项(奇数){float:left;}
:第n个子项(偶数){float:right;}
不起作用。您还可以通过其他方式访问它们

其结构如下:

<div class="options">
                                <asp:ListView ID="ListView1" runat="server" 
                                    DataSourceID="OptionsObjectDataSource" 
                                    EditIndex="-1" 
                                    OnPreRender="FabricsListView_PreRender">
                                    <ItemTemplate>
                                            <asp:DropDownList ID="OptionsAltDropDownList" runat="server" style="width:100%"
                                            DataSourceID="OptionsObjectDataSource" 
                                            DataTextField="description" 
                                            DataValueField="id"
                                            AppendDataBoundItems="true"
                                            OnDataBound="OptionsAltDropDownList_DataBound" >
                                            <asp:ListItem Value="">- Select Alt Option -</asp:ListItem>
                                        </asp:DropDownList>
                                        <asp:ObjectDataSource ID="OptionsObjectDataSource" 
                                                runat="server" 
                                                SelectMethod="GetOptionList" 
                                                TypeName="Data.ProductList" > 
                                        </asp:ObjectDataSource>
                                    </ItemTemplate>
                                </asp:ListView>
                                <asp:ObjectDataSource ID="OtherObjectDataSource" runat="server"
                                                            SelectMethod="GetByProduct" 
                                                            TypeName="Data.RequirementList" 
                                                            OldValuesParameterFormatString="original_{0}">
                                    <SelectParameters>
                                        <asp:ControlParameter ControlID="OptionHiddenField" Name="id" PropertyName="Value" Type="String" />
                                    </SelectParameters>
                                </asp:ObjectDataSource>
                            </div>

-选择Alt选项-

您是否可以使用替代项模板并相应地调整CSS样式


我不确定您在哪里查看索引。但是你可以用这样的方法:

<some_element style="<%#RenderItemStyle(Container.ItemIndex)%>"

在运行时,将为每一行调用RenderItemStyle。然后,您可以根据“index”参数在函数内部执行任何操作。

这就是我使用
div的方式。他们不在合适的地方。我会详细说明,但我没有在我的问题中的代码中发布这篇文章。基本上,ListView本身必须位于
div
中(以包含整个列表),并且
div
也必须位于
div
中,以给它一些界限。此外,紧靠
的内部必须是
div
。这适用于列表中的每个项目。这就是现在可以正确应用子样式的div

protected string RenderItemStyle(int index)
{
    if ((index % 2) == 0)
       return style_for_even_row;
    else
       return style_for_odd_row;
}