将JavaScript变量传递给Codebehind

3

能否在不嵌入任何控件的情况下,从JavaScript变量中获取一个值并将其用于Visual Basic代码中?


这有点取决于你想在什么情况下获取JavaScript变量。你是想在按钮被点击后获取它吗? - maxisam
2个回答

9

如果没有服务器控件的帮助,您无法从codebehind访问js变量。 您可以将页面重定向到自身并将该值作为URL参数传递(window.location.href = window.location.href + "?value=test";)。 但我认为这不是您想要的,因为它会强制进行postback。 因此,最好的方法是使用hiddenfield:

在javascript函数中:

<script type="text/javascript">
    function Foo(){
        var hidden=document.getElementById('hidValue');
        hidden.value="test";
    }
</script>

在aspx页面上:
<Input id="hidValue" type="hidden" runat="server" />

在代码后台
Protected hidValue As HtmlControls.HtmlInputHidden

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim hiddenValue = hidValue.Value
End Sub

0

如果可能的话(如果可用),尝试在Java中为document.cookie = javavalue分配值,然后通过Web浏览器或页面从codebehind var x= document.cookie获取它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接