【问题标题】:How to display the data based on page refresh in asp.net如何在asp.net中根据页面刷新显示数据
【发布时间】:2015-09-01 04:31:59
【问题描述】:

我正在尝试在 asp.net 中构建一个显示实时数据的应用程序。假设此应用程序是您通常在 DMV 中看到的应用程序,它显示哪个人必须去哪个柜台以及状态是什么。

我现在有什么?

1) 从数据库中显示数据并获取实时数据 2) 我每 5 秒刷新一次页面

我想达到什么目的?

1)免得说我有 20 行/人。我想首先只显示 10 行,然后在页面刷新时显示接下来的 10 行,然后在下一页刷新时再次返回到第 10 行。

 protected void Page_Load(object sender, EventArgs e)
    {
        BindQueueGrid();
        GetScrollInfo();
        gvwCourtRoomStatusInfo.Attributes.CssStyle.Add("font-size", "20px");

    }     


    private void BindQueueGrid()
    {
        List<TestClass> mydata = qService.GetData();
          Grid.DataSource = mydata;
         Grid.DataBind();

    }

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您可以使用 ViewState 变量并在每次页面加载时切换它。在第一次加载时加载前 10 个结果,然后在刷新时检查变量并加载第二组结果。混合一些 linq 以使您的查询正常工作。

     private void BindQueueGrid()
     {
        List<TestClass> mydata = qService.GetData();
        List<TestClass> onlyTen = new List<TestClass>();
    
        if(ViewState["check"] == null)
        {
           onlyTen = mydata.Take(10).ToList();
           Grid.DataSource = onlyTen;
           ViewState["check"] == true;
        }
        else
        {
           onlyTen = mydata.Skip(10).Take(10).ToList();
           Grid.DataSource = onlyTen;
           ViewState["check"] == null;
        }
    
         Grid.DataBind();
    
     }
    

    如果没有第二个列表,您也许可以做到,但我还没有测试过代码。

    【讨论】:

    • @Truckteck ..我想知道它是工作 n 行还是只有 20 行作为静态?
    • 您的问题是针对 20 行的,所以这就是我在示例中包含的内容。您可以将 Skip() 和 Take() 设置为您想要的任何值。例如,您可以根据收藏的总大小计算您跳过的数量。
    猜你喜欢
    • 2015-09-07
    • 1970-01-01
    • 2019-01-12
    • 2014-07-20
    • 1970-01-01
    • 2021-06-24
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多