How to access a JavaScript variable from code behind in asp.net

35,310

Solution 1

You will need to store the count variable on a server-side control in order to do this.

Example:

<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" />

Then, in your code-behind simply use:

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

Solution 2

Try this:

Add a HiddenField and pass value of count to HiddenField from Jquery

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

Solution 3

JavaScript is a client side technology. The code behind runs on the server. You cannot directly access the javascript variables in your code behind. You'd need to send the information to the server, for example by sending them back as form fields or query string parameters via an ajax request.

jQuery is a great library to simplify the task of sending ajax requests, but many others exist, too.

Solution 4

Your count variable is not visible to the server, so you have to let it 'readable' somehow... The appropriate solution depends on how you have to deal with it in the code-behind, an option could be to assign the count value to an hidden input field, which is then submitted to the server...

Share:
35,310
Krish
Author by

Krish

Hi There ✌, I am working with HTML,CSS,JS and Frontend frameworks (currently with React.js). I love to code in HTML/CSS explore and take challenges on that. Curious about web performance and optimization. Code Pen Profile See you out there. 😊

Updated on July 05, 2022

Comments

  • Krish
    Krish almost 2 years

    i am using a JavaScript and it have the below code:

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

    so if its click the value is added by 100 i check using an alert, now how to access the var count in my code-behind