繁体   English   中英

SqlDataSource为空时隐藏/禁用ASP.NET控件

[英]Hiding/disabling ASP.NET controls when SqlDataSource is empty

当SqlDataSource不返回任何行时,我需要能够隐藏或禁用多个项目(detailsviews,gridviews)。 因此,如果重新发布页面且未选择任何行,则所有控件都将被禁用。

我该怎么做?

谢谢

我通常使用LINQ并将结果包装在Collection或Dictionary中,但是据我所知,可以通过向.Selected事件中添加新的处理程序来完成此.Selected (假设您的DataSourceModeSqlDataSourceMode.DataSet 。在该事件中SqlDataSourceStatusEventArgs AffectedRows属性,它应该告诉您返回了多少行(至少,文档暗示了多少行)。

知道之后,您可以继续禁用或启用其他页面控件。

您可以尝试挂钩到GridView的DataBound事件。 如果没有行,请将Visible = false设置为所有需要隐藏的控件。 例:

<asp:gridView id="control" OnDataBound="DataBound" [...]

protected void DataBound(object sender, EventArgs e)
    {
        control.Visible = control.Rows.Count>0;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM