我正在使用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
答案 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
值,然后提交给服务器...