【问题标题】:How to access a JavaScript variable from code behind in asp.net如何从 asp.net 中的代码访问 JavaScript 变量
【发布时间】:2012-03-19 22:51:42
【问题描述】:

我正在使用 JavaScript,它有以下代码:

<script type="text/javascript">
var count = 0;

jQuery('td').click(function () {
    if ($(this).hasClass('process')) {
       count = count+100;
       alert('count');
}
});
</script>

所以如果它的点击值增加了 100,我会使用警报进行检查,现在如何在我的代码隐藏中访问 var count

【问题讨论】:

  • 你错过了所有的}s,但除此之外 - 你想将count 发送到服务器吗?
  • 你可以$.post()它到服务器,它会像普通的表单输入一样接收它。
  • 是的,我想发送到代码后面
  • @krish 你能告诉我为什么我的答案被取消选择为接受吗?我知道它已经足够完整并正确解释了您必须做什么才能解决您的问题。我问是因为提供好的答案是我的最大利益。
  • @Meryovi:我很抱歉这个错误...实际上我第二次将您的答案推荐给另一个项目,并且在不知不觉中选择了其他答案...再次感谢您的答案在这个项目中帮助我.也。

标签: javascript asp.net variables code-behind


【解决方案1】:

您需要将计数变量存储在服务器端控件中才能执行此操作。

示例:

<script type="text/javascript">
    var count = 0;

    jQuery('td').click(function () {
        if ($(this).hasClass('process')) {
           count = count + 100;
           alert(count);
           // Store the value in the control
           $('#<%= example.ClientID %>').val(count);
        }
     });
</script>

<asp:HiddenField ID="example" runat="server" />

然后,在您的代码隐藏中简单地使用:

int value;
if (Int32.TryParse(example.Value, out value))
{
     // Do something with your value here
}

【讨论】:

    【解决方案2】:

    试试这个:

    添加一个 HiddenField 并将计数值从 Jquery 传递给 HiddenField

    $(function() {
                var count = 100;
                $("#Button1").click(function() {
                    $("#HiddenField1").val(count);                
                });
            });
    

    【讨论】:

      【解决方案3】:

      JavaScript 是一种客户端技术。后面的代码在服务器上运行。您不能直接访问后面代码中的 javascript 变量。您需要将信息发送到服务器,例如通过 ajax 请求将它们作为表单字段或查询字符串参数发送回。

      jQuery 是一个很棒的库,用于简化发送 ajax 请求的任务,但也存在许多其他库。

      【讨论】:

        【解决方案4】:

        您的 count 变量对服务器不可见,因此您必须以某种方式让它“可读”...适当的解决方案取决于您必须如何在代码隐藏中处理它,一个选项可能是分配count 值到一个隐藏的输入字段,然后提交给服务器...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-08-06
          • 1970-01-01
          • 2018-05-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多