【问题标题】:Pass javascript variable to Codebehind将 javascript 变量传递给 Codebehind
【发布时间】:2012-01-28 04:25:26
【问题描述】:

是否可以从 javascript 变量中获取值并将其用于 Visual Basic 代码而不在任何控件上添加值。

【问题讨论】:

  • 这有点取决于您想要获取 javascript 变量的情况。您想在单击按钮后获取它吗?

标签: javascript asp.net vb.net


【解决方案1】:

如果没有服务器控件的帮助,您无法从代码隐藏中访问 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>

在 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

【讨论】:

    【解决方案2】:

    如果可能(可用)尝试将 java 中的值分配给 document.cookie = javavalue,然后从代码隐藏 var x= document.cookie(通过网络浏览器或页面)获取它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-23
      • 2012-10-24
      • 2021-04-21
      • 2019-03-24
      • 2021-04-16
      • 2023-03-26
      • 2011-08-31
      相关资源
      最近更新 更多