ASP.NET ListView在更改数据源和选定项后显示错误的行数

ASP.NET ListView在更改数据源和选定项后显示错误的行数,asp.net,listview,Asp.net,Listview,我有一个listview,它首先填充了3个项目,这是我自己对象的列表。我更改了listview上的数据源,列表中出现了7项。单击“选择项目”按钮时,仅显示3个项目。我已经设置了一个寻呼机,但它似乎不起作用,设置它时数据源是正常的,但当选定索引发生时,某些内容会发生更改,但选定索引的所有cvode如下所示: The GridView <table runat="server">

我有一个listview,它首先填充了3个项目,这是我自己对象的列表。我更改了listview上的数据源,列表中出现了7项。单击“选择项目”按钮时,仅显示3个项目。我已经设置了一个寻呼机,但它似乎不起作用,设置它时数据源是正常的,但当选定索引发生时,某些内容会发生更改,但选定索引的所有cvode如下所示:

The GridView
                            <table runat="server">
                                <tr id="ItemPlaceholder" runat="server">
                                </tr>
                            </table>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <tr class="TableData">
                                <td>
                                    <asp:LinkButton ID="LinkButtonClassRegistrationSelection" runat="server" CommandName="Select">
                                    <span>
                                           <b><%# Eval("Name")%></b>
                                    </span>
                                    </asp:LinkButton>
                                </td>
                            </tr>
                        </ItemTemplate>
                        <SelectedItemTemplate>
                            <tr class="TableData">
                                <td class="selectedRow">
                                    <asp:LinkButton ID="LinkButtonClassRegistrationSelection" runat="server" CommandName="Select" CssClass="selectedRow">
                                    <span>
                                           <b><%# Eval("Name")%></b>
                                    </span>
                                    </asp:LinkButton>
                                </td>
                            </tr>
                        </SelectedItemTemplate>
                    </asp:ListView>


//This is run with a button on the page
private void UpdateDataSourceForClassRegistrations(List<ClassRegistration> classRegistrationsWithNoResultInCurrentRound, int currentRound)
    {
                    ListViewRound2.DataSource = classRegistrationsWithNoResultInCurrentRound.OrderBy(x => x.StartNumber).ToList();
                    ListViewRound2.DataBind();
                    ListViewRound2.SelectedIndex = 0;
                    ListViewRound2.Visible = true;
        }
    }

protected void ListViewRound2_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
    {
        LabelEkipage.Text = ((List<ClassRegistration>)ListViewRound2.DataSource).Count + "" + DateTime.Now;
        ListViewRound2.DataSource = ((List<ClassRegistration>)ListViewRound2.DataSource).ToList();
        ListViewRound2.SelectedIndex = e.NewSelectedIndex;
        ListViewRound2.DataBind();
    }

                            <table runat="server">
                                <tr id="ItemPlaceholder" runat="server">
                                </tr>
                            </table>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <tr class="TableData">
                                <td>
                                    <asp:LinkButton ID="LinkButtonClassRegistrationSelection" runat="server" CommandName="Select">
                                    <span>
                                           <b><%# Eval("Name")%></b>
                                    </span>
                                    </asp:LinkButton>
                                </td>
                            </tr>
                        </ItemTemplate>
                        <SelectedItemTemplate>
                            <tr class="TableData">
                                <td class="selectedRow">
                                    <asp:LinkButton ID="LinkButtonClassRegistrationSelection" runat="server" CommandName="Select" CssClass="selectedRow">
                                    <span>
                                           <b><%# Eval("Name")%></b>
                                    </span>
                                    </asp:LinkButton>
                                </td>
                            </tr>
                        </SelectedItemTemplate>
                    </asp:ListView>


//This is run with a button on the page
private void UpdateDataSourceForClassRegistrations(List<ClassRegistration> classRegistrationsWithNoResultInCurrentRound, int currentRound)
    {
                    ListViewRound2.DataSource = classRegistrationsWithNoResultInCurrentRound.OrderBy(x => x.StartNumber).ToList();
                    ListViewRound2.DataBind();
                    ListViewRound2.SelectedIndex = 0;
                    ListViewRound2.Visible = true;
        }
    }

protected void ListViewRound2_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
    {
        LabelEkipage.Text = ((List<ClassRegistration>)ListViewRound2.DataSource).Count + "" + DateTime.Now;
        ListViewRound2.DataSource = ((List<ClassRegistration>)ListViewRound2.DataSource).ToList();
        ListViewRound2.SelectedIndex = e.NewSelectedIndex;
        ListViewRound2.DataBind();
    }

//这是通过页面上的按钮运行的
private void UpdatedAtasourceTorclassRegistrations(使用NORESultincurrentRound、int currentRound列出类注册)
{
ListViewRound2.DataSource=ClassRegistrationwithNoresultincurrentRound.OrderBy(x=>x.StartNumber.ToList();
ListViewRound2.DataBind();
ListViewRound2.SelectedIndex=0;
ListViewRound2.Visible=true;
}
}
受保护的无效ListViewRound2\u SelectedIndexChanged(对象发送者,ListViewSelectEventArgs e)
{
LabelEkipage.Text=((列表)ListViewRound2.DataSource).Count+“”+DateTime.Now;
ListViewRound2.DataSource=((列表)ListViewRound2.DataSource).ToList();
ListViewRound2.SelectedIndex=e.NewsSelectedIndex;
ListViewRound2.DataBind();
}

显示更多代码。。。。我不认为我理解你需要什么,或者你的问题是什么。添加了更多的代码。还认为这可能就像第一个数据源不知何故被调用了,当所选索引被更改时返回。