ASP.net 前端.aspx文件如何动态调用C#后端.aspx.cs代码中的变量

qq_19601273 2016-11-03 11:29:47
小弟C#菜鸟,因为项目要用到ASP.NET编一个网页动态刷新后端C#代码采集到的硬件数据,现在硬件的数据已经采到了后端。问题是如何将数据传到前端并在网页上刷新。
起初我用了<%= %>的方法,但是只能加载后端的初始值,不能刷新。
后来,添加了Ajax拓展控件 ScriptManager、Updatepanel和Timer ,并在Updatepanel中添加了一个Textbox用于传数据,每隔10秒刷新一次。这样做虽然前端网页能观察到动态刷新了(手动在TextBox输入一个别的值,过10秒会刷新到原来的值),但还是初始值在一直刷新,就好像是加载页面的时候前端从后端拿了一次数据存到了前端的某个地方,然后一直在刷新这个数据一样。


费解,求问各位大神如何解决。

这是设的初值!

这是前端调用Ajax控件的代码

这是后端向前端穿数据的代码(通过TextBox传送,Timer触发UpdatePanel)

打开硬件和服务器传输数据后,后端C#显示数据已经更新

但是前端一直显示的是初始值18
...全文
962 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
并不是什么 static 变量。你为 static 变量 long 赋值 --> 并不是什么页面变量。你为页面变量 long 赋值
  • 打赏
  • 举报
回复
我只是提示你该如何学习、如何查找。真正的知识,请去查看那些到处都有的 asp.net 书籍资料。
  • 打赏
  • 举报
回复
引用 13 楼 qq_19601273 的回复:
[quote=引用 9 楼 qq_28147821的回复:]直接前端写一个ajax,每隔一段时间去后台取值不就行了
对 我前端写了ajax 和定时器 应该怎么取数据 用什么语句呀?[/quote] “取数据”没有什么问题(虽然你没有正确贴出来)。关键的基础知识是,asp.net 使用 ViewState 集合来保存页面持久化数据,并不是什么 static 变量。你为 static 变量 long 赋值,它无法在页面下一次被创建时自动恢复上一次所赋值的结果,而是重新初始化为 18。你用 ViewState["lon'] 则可以持久化地在页面实例之间保持状态值。
tcmakebest 2016-11-05
  • 打赏
  • 举报
回复
后端的数据应该是从数据库中取的, 楼主的数据是存在哪儿的呢
qq_19601273 2016-11-04
  • 打赏
  • 举报
回复
引用 2 楼 我是飞云的回复:
我愣是没有看懂说的是什么
呃。。。就是后端的数据传不到前端去。。
qq_19601273 2016-11-04
  • 打赏
  • 举报
回复
引用 5 楼 以专业开发人员为伍的回复:
假设你把所谓的 TextBox1.Text 的值(转为数字值)赋值给 lon,仅仅是“一瞬间”起一点作用,下一次asp.net 处理请求时页面对象实例中的 lon 也还是 18。 不学 asp.net 页面生命周期而编写 asp.net 代码的人,连入门都不能入门。所以需要从一点原理开始学起。
您好,刚才在后端程序的page_load中加断点查看了,果然一直都是18,求问怎样赋值才能上时间的把新值给前端呀
qq_19601273 2016-11-04
  • 打赏
  • 举报
回复
引用 4 楼 以专业开发人员为伍的回复:
每一次页面提交,都会初始化页面对象,lon 当然被赋值为 18。 如果你不按照 web/asp.net 页面生命周期的知识来设计程序,那就不会有很正确很精简的流程。
谢谢 我在看生命周期了 但是如果每次提交都初始化lon的话,那我处理完的lon岂不是永远都传不过去了
  • 打赏
  • 举报
回复
感觉是你的netajax插件与百度地图的冲突了,对于这种用外部gis的,最好直接写ajax代码,而不是用ajax控件
  • 打赏
  • 举报
回复
假设你把所谓的 TextBox1.Text 的值(转为数字值)赋值给 lon,仅仅是“一瞬间”起一点作用,下一次asp.net 处理请求时页面对象实例中的 lon 也还是 18。 不学 asp.net 页面生命周期而编写 asp.net 代码的人,连入门都不能入门。所以需要从一点原理开始学起。
  • 打赏
  • 举报
回复
每一次页面提交,都会初始化页面对象,lon 当然被赋值为 18。 如果你不按照 web/asp.net 页面生命周期的知识来设计程序,那就不会有很正确很精简的流程。
qq_19601273 2016-11-04
  • 打赏
  • 举报
回复
引用 9 楼 qq_28147821的回复:
直接前端写一个ajax,每隔一段时间去后台取值不就行了
对 我前端写了ajax 和定时器 应该怎么取数据 用什么语句呀?
qq_19601273 2016-11-04
  • 打赏
  • 举报
回复
引用 10 楼 closurer的回复:
首先要明确一个问题,HTTP 协议只能是客户端请求、获取服务器端的数据。 不存在服务端主动向客户端发送数据的,只能是响应客户端的请求。 所以,你写在服务器端的定时器,是没有用的。因为服务器响应了第一次请求之后,已经完成任务了,以后非客户端再次请求,不能再发送数据。 在你这个例子中,最简便的方法,是把定时器写在客户端,定时向服务器请求最新的数据。
难道是请求的时机不对,一般用什么语句请求数据呀? get?
qq_19601273 2016-11-04
  • 打赏
  • 举报
回复
引用 10 楼 closurer的回复:
首先要明确一个问题,HTTP 协议只能是客户端请求、获取服务器端的数据。 不存在服务端主动向客户端发送数据的,只能是响应客户端的请求。 所以,你写在服务器端的定时器,是没有用的。因为服务器响应了第一次请求之后,已经完成任务了,以后非客户端再次请求,不能再发送数据。 在你这个例子中,最简便的方法,是把定时器写在客户端,定时向服务器请求最新的数据。
定时器是在客户端的 只是应该如何请求服务端的数据 我查看了http响应,正常的10秒一次 只是传回来的值一直都是初始值
闭包客 2016-11-04
  • 打赏
  • 举报
回复
首先要明确一个问题,HTTP 协议只能是客户端请求、获取服务器端的数据。 不存在服务端主动向客户端发送数据的,只能是响应客户端的请求。 所以,你写在服务器端的定时器,是没有用的。因为服务器响应了第一次请求之后,已经完成任务了,以后非客户端再次请求,不能再发送数据。 在你这个例子中,最简便的方法,是把定时器写在客户端,定时向服务器请求最新的数据。
知网一哥 2016-11-04
  • 打赏
  • 举报
回复
直接前端写一个ajax,每隔一段时间去后台取值不就行了
我是飞云 2016-11-03
  • 打赏
  • 举报
回复
我愣是没有看懂说的是什么
qq_19601273 2016-11-03
  • 打赏
  • 举报
回复
自己顶起
Part1第一部分: 相信大家找得到该书的源代码部分 也就是这部分内容 因此我便无偿奉送 让大家下载试试。 若感觉可以方可继续下载电子书部分。 1.本书1~21章所附代码的运行环境 操作系统:Windows Server 2003或Windows XP Professional 开发环境:Microsoft Visual Studio 2005 数据库:SQL Server 2005 Web服务器:IIS 5.1及以上版本 2.本书所附光盘范例 第1章(\Chapter 01) 示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form.html 表单范例。 css.html CSS范例。 第3章(\Chapter 03) 示例描述:本章介绍C# 2.0程序设计基础。 3-01.cs 第一个C#程序。 3-02.cs 不导入命名空间来改写程序3-01.cs。 3-03.cs ReadLine()方法读数据。 3-04.cs 常量的使用。 3-05.cs 整型类型的使用。 3-06.cs 结构类型的使用。 3-07.cs 枚举类型的使用。 3-08.cs 用一个输入参数通过值传递一个变量给一个方法。 3-09.cs 一维数组的使用。 3-10.cs 使用代理类型。 3-11.cs 使用接口。 3-12.cs 装箱操作。 3-13.cs 字符串操作。 3-14.cs if语句的使用。 3-15.cs switch语句的使用。 3-16.cs while语句的使用。 3-17.cs do-while语句的使用。 3-18.cs for语句的使用。 3-19.cs 异常捕获:try-catch语句的使用。 3-20.cs 异常捕获:try-finally语句的使用。 3-21.cs 异常捕获:try-catch-finally语句的使用。 3-22.cs get和set对属性的值进行读写操作。 3-23.cs 方法的使用。 3-24.cs 继承演示。 3-25.cs 多态性演示。 第4 章(\Chapter 04) 示例描述:本章学习ASP.NET 2.0页面基本对象。 4-01.aspx aspx页面添加一个Lable标签。 4-02.aspx 读出Application的属性值。 4-03.aspx 读出SessionID的值。 4-04.aspx 创建Session对象。 4-05.aspx 读取传递的Session值并显示。 4-06.aspx 使用Response对象的Write()方法。 4-07.aspx 使用Response对象的End()方法。 4-08.html 以post方式提交数据到4-08.aspx的表单。 4-08.aspx 接收表单数据并进行处理。 4

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧