首页 > 解决方案 > 在 ASP.NET Web 表单上显示不断变化的值

问题描述

我目前正在用 C# 编写一个程序,该程序不断输出 1 到 12 之间的随机值,并将它们显示在 ASP.NET Web 表单上的标签控件中。当输出成功写入 Web 表单时,它只显示一个值。换句话说,我希望标签输出跟踪输出(显示)由函数产生的每个值,如下所示,以产生一致变化的值:

[WebMethod]
    public static string StreamData()
        {
            string[] value = new string[1]; 

            Random rnd = new Random();

            Thread t = new Thread(delegate ()
            {
                while (true)
                {
                    value[0] = rnd.Next(1, 13) + "";
                }
            });
            t.Start();


            return value[0]; 

        }

我尝试使用 AJAX 函数从函数中提取数据,但我不太确定是否要以正确的方式显示数据:

     <script type="text/javascript">
    $(function () {
        $.ajax({
            type: 'POST',
            url: 'default.aspx/streamdata',
            data: '',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (msg) {
                //alert(msg.d);
                $('#<%= lblReading.ClientID %>').html(msg.d);
            }
        });
             });
</script>

该程序正在编写以测试使用 TIA Portal 15 从 PLC 获取实时数据趋势的概念,所述数据从整个生产线的传感器读数中获得。这个程序背后的想法是作为一个概念证明,实时数据实际上可以在 ASP.NET Web 环境中显示和趋势,以便在一系列 Web 兼容设备上访问。尽管我努力以这种方式显示随机值,但我的尝试迄今未成功,尽管我决心不放弃。我研究了这种使用 SignalR 来实现与我想要的解决方案类似的方法,尽管我不确定如何在我的情况下实现它:如何实现网页的实时数据

有人可以说明如何实现上述目标吗?

非常感谢,

本。

标签: c#asp.net

解决方案


您可以使用 SignalR 在 ASP.Net Web 表单中完成您的要求。请看这个关于如何做到这一点的小教程, 将 SignalR 添加到 ASP.NET WebForms 项目


推荐阅读