c# - 使用 C# 代码隐藏方法的 For 循环

标签 c# javascript asp.net for-loop

当我在代码后面调试时,它只让我进入“测试”方法一次,而不是三次,为什么?我看到我有 javascript“for 循环”,它应该在 C#“测试”方法中运行 3 次。但只出现过一次,这正常吗?我想按照我在 javascript“for 循环”中所说的那样经历三次“测试”方法。问题出在哪里?

aspx代码:

<script>
    $(function () {
        for (var i = 0; i < 3; i++) {

            console.log("active");
            var a = '<%= this.Test() %>';
        }
    });
</script>

背后的C#代码:

    public string Test()
    {
        int a = 1;
        return "active";
    }

最佳答案

this.Test() 未在 JavaScript 的 for 循环中调用。它被调用服务器端来评估它。

这样看。渲染后,你的 JavaScript 确实说了以下内容:

<script>
    $(function () {
        for (var i = 0; i < 3; i++) {

            console.log("active");
            var a = 'active';
        }
    });
</script>

其原因在于 ASP.NET 的工作方式。它获取您的 xhtml 和服务器端代码并​​渲染 html 以将其返回给客户端。然后,客户端有机会执行其任何代码。 Javascript 在客户端执行。

关于c# - 使用 C# 代码隐藏方法的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14982386/

相关文章:

c# - 使用 Vestris.VMWareLib 克隆.Vm

c# - 检查ListView项目是否被选中

c# - 为什么 ? : operator does not work with nullable<int> assignation?

javascript - 不要使用 Gmaps.js 显示 Google map

c# - 使用嵌套母版页

asp.net - MVC5 用户未在 http 下进行身份验证

css - Asp.net TextBox 改变颜色

c# -/*!*/在 C# 中是什么意思?

javascript - 在哪里可以了解基于 JavaScript 的继承是如何工作的?

javascript - LG 智能电视音量控制