如何在asp.net中隐藏寻呼机

Posted

技术标签:

【中文标题】如何在asp.net中隐藏寻呼机【英文标题】:How to hide pager in asp.net 【发布时间】:2012-04-06 22:17:57 【问题描述】:

我正在使用分页器与 ListView 进行分页,但问题是,当从表中找不到行时。在这种情况下,寻呼机也显示分页。所以,我的问题是,我怎样才能隐藏寻呼机。当ListView显示消息no row found时。

提前致谢!!

【问题讨论】:

【参考方案1】:

您可以使用DataBound 事件来隐藏它:

protected void jobSearchResult_DataBound(Object sender, EventArgs e)

     DataPager pager = (DataPager)jobSearchResult.FindControl("jobSearchPager");
     pager.Visible = pager.TotalRowCount > pager.MaximumRows;

编辑:假设您使用的是 VB.NET

Protected Sub jobSearchResult_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) 
    Dim pager = DirectCast(jobSearchResult.FindControl("jobSearchPager"), DataPager)
    pager.Visible = pager.TotalRowCount > pager.MaximumRows 
End Sub

如果您的寻呼机不是 ListView 的 LayoutTemplate 的一部分(例如,在 ListView 之外),您可以直接引用它而不使用 FindControl

jobSearchPager.Visible = jobSearchPager.TotalRowCount > jobSearchPager.MaximumRows
DataPager.TotalRowCount Property DataPager.MaximumRows Property

【讨论】:

我也在尝试同样的方法.. 但是,出现错误Protected Sub jobSearchResult_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) DataPager pager = (DataPager) jobSearchResult.FindControl("jobSearchPager") pager.Visible = (pager.PageSize < pager.TotalRowCount) End Sub DataPager' is a type and cannot be used as an expression and Name 'Pager' is not declared and Comma, ')', or a valid expression continuation expected. and 5 others... @coders_zone:您使用的是 C# 还是 VB.NET?我的答案是 C#,而您的评论是两者的混合,因此不会编译。 @coders_zone:不工作是什么意思?另一个错误,寻呼机可见?您是否正在调试以检查 pager.TotalRowCount 和 pager.MaximumRows? 寻呼机仍然可见。甚至,当我设置pager.Visible=False。然后,它也是可见的。现在,我将按照您的建议进行调试。【参考方案2】:

在您的数据绑定方法中,您可以检查项目来源计数。如果为零,则将寻呼机的可见性设置为 false。

【讨论】:

【参考方案3】:

检查您检索到的数据以获取结果,如果为空则调用:

DataPager.Visible = false;

【讨论】:

以上是关于如何在asp.net中隐藏寻呼机的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 c# 在 asp.net 中隐藏和显示警报

Asp.Net:用户控件中的寻呼机不分页

ASP.NET MVC SiteMap 提供程序——如何在实际菜单中“隐藏”单个项目

如何从后面的代码中隐藏和显示 asp.net 中的 asp:buttons?

如何在 asp.net 中从 javascript 调用代码隐藏函数?

ASP.Net GridView 寻呼机未显示正确的页码