如何从ascx的代码隐藏中访问javascript变量?

时间:2011-09-05 14:00:00

标签: javascript asp.net ascx

具体来说,我有一个ascx控件,我们假设它注入了javascript var x=5

ascx控件包含一个按钮,单击该按钮时会执行x ++;

然后是6。

当有人将我的控件放在他们的页面上,并点击一个回发的按钮(该按钮是他们自己的)时,我想让他们在后面的代码中检索x的值。

是否有允许这样的解决方案?我能想到的最接近的是在ascx中放置一个隐藏字段,并在更新时将值存储在隐藏字段中。然后在我的代码隐藏中,在回发时,我可以执行myControl.hiddenField.value来检索结果。

我还没有尝试过,因为我想知道是否有更好的方法。此外,我不确定隐藏字段的更新值是否会在通过javascript更改时注册,虽然是帖子,我希望它是。

思想?

编辑:事实上,使用getter我可以隐藏隐藏的字段,只允许直接访问该值...如果该解决方案是最好的...

2 个答案:

答案 0 :(得分:1)

是的,你自己的答案是最好的答案......特别是你的编辑!表单字段是这两个层级如何相互通信的方式。您可以使用一些动态构建的get / post参数来调用ajax帖子,但这不会更好......

答案 1 :(得分:1)

您的想法已经是您可以采取的最佳方法。我不认为你可以使用Timbo提出的Ajax请求选项,因为你的ascx控件可以放在许多不同的形式中,你如何确定你发送帖子或获取请求?

总之,你的方法很好,没有任何低效率。