将javascript变量传递给Codebehind

jcv*_*gan 3 javascript vb.net asp.net

是否可以从javascript变量中获取值并将其用于可视化基本代码,而不会对任何控件产生任何影响.

Tim*_*ter 8

在没有任何服务器控件帮助的情况下,您无法从代码隐藏中访问js变量.您可以将页面重定向到自身并将该值作为URL-Parameter(window.location.href = window.location.href + "?value=test";)传递.但我认为这不是你想要的,因为它会强制回发.所以最好的方法是使用隐藏字段:

在javascript函数中:

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

在aspx上:

<Input id="hidValue" type="hidden" runat="server" />
Run Code Online (Sandbox Code Playgroud)

在代码背后

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
Run Code Online (Sandbox Code Playgroud)