2012-03-01 81 views
4

我使用的是JavaScript和它有下面的代码:如何从代码访问JavaScript变量后面在asp.net

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

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

因此,如果其点击的价值由100加入我检查使用警报,现在如何访问我的代码隐藏中的变量count

+0

HiddenField你'除了那个以外,你是否想要发送'co unt'到服务器? – pimvdb 2012-03-01 12:31:27

+0

你可以'$ .post()'它到服务器,它将接收它,因为它会像一个正常的表单输入。 – bdares 2012-03-01 12:32:45

+0

是的,我想发送到后面的代码 – krish 2012-03-01 12:33:21

回答

13

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

例子:

<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

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

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

1

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

2

试试这个:

添加HiddenField,并通过计值从jQuery的

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