如何从asp.net中的代码访问JavaScript变量

时间:2012-03-01 12:30:14

标签: javascript asp.net variables code-behind

我正在使用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

4 个答案:

答案 0 :(得分:15)

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

示例:

<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
}

答案 1 :(得分:2)

试试这个:

添加隐藏字段并将计数值传递给Jquery

中的隐藏字段
$(function() {
            var count = 100;
            $("#Button1").click(function() {
                $("#HiddenField1").val(count);                
            });
        });

答案 2 :(得分:1)

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

jQuery是一个很好的库,可以简化发送ajax请求的任务,但也存在很多其他的。

答案 3 :(得分:1)

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