Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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# 中继器寻呼_C#_Asp.net - Fatal编程技术网

C# 中继器寻呼

C# 中继器寻呼,c#,asp.net,C#,Asp.net,我使用以下代码在中继器内进行分页。我已将分页大小设置为3。如果正好有3个语音气泡-将显示“下一步”按钮,当我选择时,我将重定向到一个空页面。然而,如果有4个单独的气泡,一切都很好。是否有办法确保如果页面大小为3,则不显示任何按钮?谢谢 PagedDataSource pagedData = new PagedDataSource(); pagedData.DataSource = ds.Tables[0].DefaultView; pagedData.AllowPagin

我使用以下代码在中继器内进行分页。我已将分页大小设置为3。如果正好有3个语音气泡-将显示“下一步”按钮,当我选择时,我将重定向到一个空页面。然而,如果有4个单独的气泡,一切都很好。是否有办法确保如果页面大小为3,则不显示任何按钮?谢谢

    PagedDataSource pagedData = new PagedDataSource();
    pagedData.DataSource = ds.Tables[0].DefaultView;
    pagedData.AllowPaging = true;
    pagedData.PageSize = 3;
    pagedData.CurrentPageIndex = pageNum;

    Repeater1.DataSource = pagedData;
    Repeater1.DataBind();

    cmd.Connection.Close();
    cmd.Connection.Dispose();

    if (pageNum == 0)
    {

        btnPrev.Visible = false;

    }
    if (pageNum >= Math.Floor((decimal)ds.Tables[0].Rows.Count / 3))
    {

        btnNext.Visible = false;
    }

}

protected void btnNext_Click(object sender, EventArgs e)
{
    // Redirects to next page
    Response.Redirect("negativestorydetail.aspx?guid=" + id + "&name=" + name + "&role=" + company_role + "&member=" + mem_id + "&company=" + co_id + "&project=" + proj_name + "&proj_id=" + proj_id + "&tag=" + tag + "&page=" + Convert.ToString(pageNum + 1));
}
protected void btnPrev_Click(object sender, EventArgs e)
{
    // Redirects to previous page
    Response.Redirect("negativestorydetail.aspx?guid=" + id + "&name=" + name + "&role=" + company_role + "&member=" + mem_id + "&company=" + co_id + "&project=" + proj_name + "&proj_id=" + proj_id + "&tag=" + tag + "&page=" + Convert.ToString(pageNum - 1));
}

这种情况不太适用:

if (pageNum >= Math.Floor((decimal)ds.Tables[0].Rows.Count / 3))
{
    btnNext.Visible = false;
}
如果有3个结果(或通常为N x页面大小的结果),则它无法正常工作。相反,它应该是:

if (pageNum >=  Math.Ceiling((decimal)(ds.Tables[0].Rows.Count / 3)) -1)
{
    btnNext.Visible = false;
}
(1表示从0开始的页码,而不是1)