Javascript int variable from ASP.NET MVC Model data?

10,225

For max, don't put quotes around it:

var max = <%: Model.Project.RemainingBudgetHours %>;

For taskBudgetHours, use the built-in JavaScript parseInt function:

var taskBudgetHours = parseInt($('#BudgetHours').val(), 10);

Note the use of the radix parameter for parseInt; this prevents e.g. "020" as being parsed as octal:

parseInt("020") === 16 // true!
Share:
10,225
Anders
Author by

Anders

Updated on June 04, 2022

Comments

  • Anders
    Anders almost 2 years

    I need to get model data into a javascript variable and use it as an int to compare values. But I can only figure out how to get the model data as strings, otherwise the compiler complains.

    So how can I get the max and taskBudgetHours as int variables in the Javascript?

    <script type="text/javascript">
        $(document).ready(function () {
            $("#taskForm").submit(function (e) {
                var taskBudgetHours = $('#BudgetHours').val();
                var max = '<%: Model.Project.RemainingBudgetHours %>';
    
                alert(taskBudgetHours);
                alert(max);
    
                if (taskBudgetHours <= max) { //This doesn't work, seems to treat it as strings...
                    return true;
                }
                else {
                    //Prevent the submit event and remain on the screen
                    alert('There are only ' + max + ' hours left of the project hours.');
                    return false;
                }
            });
        });
    </script>