首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器标记中的ASP.NET网格视图动态Emptydatatext

服务器标记中的ASP.NET网格视图动态Emptydatatext
EN

Stack Overflow用户
提问于 2017-12-13 04:23:28
回答 2查看 284关注 0票数 0

基本上我想有一些下拉列表作为网格视图的过滤器。当没有与所选过滤器匹配的网格视图项目时,它将显示一条消息,指出没有项目与您的搜索匹配(并显示下拉列表值)。我知道我可以通过后面的代码来实现这一点,但我只是想知道这样的事情是否可以工作。谢谢

代码语言:javascript
复制
<asp:gridview id="gv" runat="server" EmptyDataText="<%# "no items match" & dropdownlist.selectedvalue &"stuff" %>"
EN

回答 2

Stack Overflow用户

发布于 2017-12-13 04:30:55

您需要将页面修改为如下所示(添加emptyDataTemplate和Label)

代码语言:javascript
复制
    <asp:GridView ID="gv" runat="server" 
     DataBindingComplete="gv_DataBindingComplete" 
        OnPreRender="gv_PreRender">
       <EmptyDataTemplate>
        <asp:Label runat="server" ID="lbInfo" /></EmptyDataTemplate>
    </asp:GridView>

并在您的代码中使用以下代码

代码语言:javascript
复制
   protected void gv_PreRender(object sender, EventArgs e)
    {
        if (gv.Rows.Count==0)
        {
            lbInfo.Text = "no items match " + ddlTest.SelectedItem + " stuff";
        }

    }
票数 0
EN

Stack Overflow用户

发布于 2019-12-31 01:40:22

另一种解决方案:

代码语言:javascript
复制
<asp:GridView ID="gv" runat="server">
   <EmptyDataTemplate>
     <asp:Label ID="Label1" runat="server" Text='<%#EmptyData() %>' />
   </EmptyDataTemplate>
</asp:GridView>

代码隐藏:

代码语言:javascript
复制
protected string EmptyData()
{
   if (gv.Rows.Count == 0)
      {
        return "no items match" & dropdownlist.selectedvalue & "stuff";
      }
   return string.Empty;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47780940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档