我怎么能访问一个javascript变量从代码背后的ascx

How can I access a javascript variable from the codebehind of an ascx?

本文关键字:变量 代码 背后 ascx javascript 一个 访问 怎么能      更新时间:2023-09-26

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

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

x = 6。

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

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

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

想法吗?

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

是的,你自己的答案是最好的,尤其是你的编辑!表单字段是这两层相互通信的方式。您可能会使用一些动态构建的get/post参数来调用ajax post,但这不会更好…

你的想法已经是你能采取的最好的方法了。我不认为你可以使用Timbo提出的Ajax请求选项,因为你的控件是一个ascx控件,可以以许多不同的形式放置,你如何决定你是发送还是接收请求?

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