当我在代码后面调试时,它只让我进入“测试”方法一次,而不是三次,为什么?我看到我有 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/