gpt4 book ai didi

c# - 如何仅在 SQLDataSource 有行时显示元素

转载 作者:行者123 更新时间:2023-11-30 22:43:34 44 4
gpt4 key购买 nike

我正在创建一个 ASP.NET/C# 页面,用户在页面顶部输入一个 ID,当他们按下提交时,页面回发并显示数据。现在,数据字段始终显示 - 即使在页面加载且未进行搜索时也是如此。这并不理想,因为当他们使用我制作的 MultiView 导航菜单时,会出现一些错误。另外,这显然不是好的做法。

如果 SQLDataSource 为空,有没有办法隐藏所有这些元素(它们是 DetailsViews 和 GridViews,以及 MultiView 和 Menu)?因此,如果搜索没有返回结果,或者尚未执行任何查询。

谢谢

最佳答案

您可以将这些元素包围为一个占位符控件,然后根据是否有要显示的结果来设置占位符的可见性。
我以前没有使用过 SqlDataSource 对象,但为了满足您的要求,我建议检查页面是否已在 PageLoad 方法中回发,如果没有隐藏数据控件。然后在 SqlDataSource.Selected 事件中添加一个方法来处理没有返回结果的情况:
ASPX:

<asp:PlaceHolder ID="myPlaceholder" runat="server">
....Data controlds
</asp:PlaceHolder>

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
if(!isPostBack)
{
myPlaceholder.Visible = false;
}
}

protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
myPlaceholder.Visible = e.AffectedRows > 0;
}

关于c# - 如何仅在 SQLDataSource 有行时显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889163/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com