首页 新闻 搜索 专区 学院

前、后台数据交换问题。

0
[已解决问题] 解决于 2014-02-11 17:16

后台代码:

protected void Page_Load(object sender, EventArgs e)

        {

            tbxText.Value = "200";

            TimerExampleState s = new TimerExampleState();

            TimerCallback timerDelegate = new TimerCallback(CheckStatus);

            System.Threading.Timer timer = new System.Threading.Timer(timerDelegate, s, 1000, 1000);

            s.tmr = timer;

        }

 

        public void CheckStatus(Object state)

        {

            TimerExampleState s = (TimerExampleState)state;

            Random rd = new Random();

            int MoveX = rd.Next(500);

            tbxText.Value = MoveX.ToString();

        }

前台代码:

<script>    

        function ss() {

            var id = $("#tbxText").val();

            alert(id);

            setTimeout(ss, 1000);

        }

    </script>

非常奇怪,弹出框内容总是输出200,并不改变,求大神解释。

周末末的主页 周末末 | 初学一级 | 园豆:190
提问于:2014-01-23 13:19
< >
分享
最佳答案
0

ss是在什么时候调用的啊

奖励园豆:5
Jerry柯 | 菜鸟二级 |园豆:496 | 2014-01-23 18:50

<script>    

        function ss() {

            var id = $("#tbxText").val();

            alert(id);

            setTimeout(ss, 1000);  //在这里调用的。

        }

    </script>

周末末 | 园豆:190 (初学一级) | 2014-01-24 13:37

@周末末: 看出问题了, 后台代码在刷新,但页面没刷新, 所以js获取到的永远都是200。 如果你单纯为textbox的值跟着时间改变的话, 不应该用后台代码实现。

Jerry柯 | 园豆:496 (菜鸟二级) | 2014-01-26 14:39
其他回答(1)
0

你都没有产生交互怎么会变化?你在服务器开个定时器然后交互都不做直接就想在前台获取到吗?

吴瑞祥 | 园豆:28831 (高人七级) | 2014-01-23 14:09

在后台这样写 tbxText.Value = MoveX.ToString();

然后在前台用js读取tbxText的值,这不算交互吗?

如果我的想法不行,那大哥你有什么好的建议?

 

支持(0) 反对(0) 周末末 | 园豆:190 (初学一级) | 2014-01-23 14:13

@周末末: 

前台归前台,后台归后台.

你在前台的JS读的tbxText跟后台的TbxText没有任何关系.

B/S是请求响应模型,就是你要发一个请求到后台,后台相应你的请求返回一个值到前台.

这个过程就算是一次交互

支持(0) 反对(0) 吴瑞祥 | 园豆:28831 (高人七级) | 2014-01-23 14:29

@吴瑞祥: 大哥你的意思是用ajax来传输数据么?

支持(0) 反对(0) 周末末 | 园豆:190 (初学一级) | 2014-01-23 14:30

@周末末: 反正就是传输数据`不管ajax还是直接get都一样

支持(0) 反对(0) 吴瑞祥 | 园豆:28831 (高人七级) | 2014-01-23 15:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册