0

私はcodeprojectのチュートリアルに従いましたが、問題に遭遇しました。

私は、ListView私のサイトの現在のメンバー名をすべてリストした を持っています:

<asp:ListView ID="lstMembers" runat="server">
    <LayoutTemplate>
        <table>
            <tr>
                <th>Name</th>
            </tr>
            <tr id="itemPlaceholder" runat="server"></tr>
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr>
            <td>
                <%# Eval("MemberName") %>
            </td>
        </tr>
    </ItemTemplate>

</asp:ListView>

そしてDataPager下:

<asp:DataPager ID="DataPagerProducts" runat="server" PagedControlID="lstMembers"
    PageSize="3" OnPreRender="DataPagerProducts_PreRender">
    <Fields>
        <asp:NumericPagerField />
    </Fields>
</asp:DataPager>

私はリストにバインドするために以下を使用しています(チュートリアルに従って):

List<Members> member = new List<Members>();

protected void Page_Load(object sender, EventArgs e)
{
    if(Page.IsPostBack) return;

    DisplayMembers();
}

private void DisplayMembers()
{
    const string strSql = "SELECT DISTINCT [id], [memberNickname] FROM vwGetMemberDetails ORDER BY [memberNickname]";
    SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text };

    SqlDataReader rdr = sqlComm.ExecuteReader();
    while (rdr.Read())
    {
        member.Add(new Members
            {
                MemberId = rdr["id"],
                MemberName = rdr["memberNickname"]
            });
    }

    rdr.Close();
    DataConn.Disconnect();
}

private class Members
{
    public object MemberId { get; set; }
    public object MemberName { get; set; }
}

protected void DataPagerProducts_PreRender(object sender, EventArgs e)
{
    lstMembers.DataSource = member;
    lstMembers.DataBind();
}

したがって、現在ポケットベルには 2 つの番号があります。しかし、2 をクリックするたびにListは何も表示せず、 はPager消えます。

私は通常、Repeaterコントロールの頻繁な作業者であり、おそらく「より簡単な」方法としてこの方法を使用しているだけです。

誰が私が間違っているのか教えてもらえますか?

4

1 に答える 1

1

変数modelは で更新されないDataPagerProducts_PreRenderため、ページの読み込みで既に読み込まれている同じデータセットが常に表示されます。

編集


内部で削除if(Page.IsPostBack) return;または呼び出すと、これが機能しますDisplayMembers()DataPagerProducts_PreRender

于 2013-05-09T12:03:30.653 に答える