asp.net - 来自 ASP.NET MVC 模型数据的 Javascript int 变量?

标签 asp.net jquery asp.net-mvc-2 variables

我需要将模型数据放入 JavaScript 变量中,并将其用作 int 来比较值。但我只能弄清楚如何以字符串形式获取模型数据,否则编译器会提示。

那么如何在 Javascript 中获取 max 和 taskBudgetHours 作为 int 变量?

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

最佳答案

对于 max,不要在其两边加上引号:

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

对于 taskBudgetHours,请使用内置 JavaScript parseInt功能:

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

注意parseInt使用基数参数;这可以防止例如“020” 被解析为八进制:

parseInt("020") === 16 // true!

关于asp.net - 来自 ASP.NET MVC 模型数据的 Javascript int 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663589/

相关文章:

javascript - 如何使用此代码无法命中我的 ASP.NET MVC 应用程序中的 Controller

asp.net-mvc-2 - ASP.NET MVC 2 : View Subfolders?

c# - 错误::类、结构或接口(interface)成员声明中的无效标记 '='

java - j2me和ksoap如何获取asp.net webservice中的特定元素

javascript - 如何使用数组提供的值设置在列表框中选择的项目?

javascript - 有什么办法可以通过 jQuery 获取 HTTP 请求?

asp.net-mvc-2 - 在 `Html.EditorFor` 上覆盖类

c# - ASP.NET MVC - 查看位置问题 : The view 'Index' or its master was not found

javascript - 如何在不刷新整个页面的情况下刷新div?

javascript - Bootstrap 模态不会成为切换时的事件元素,背景滚动但模态不滚动