谁能解释一下下面asp.Net的工作原理吗?
我在 aspx 标记中有 2 个独立的代码块 asp.Net 表达式,其间有一个 html 内容(下例中的 span 元素)。
在第一个代码块中,有“i”作为 for 循环的增量变量。
然后用 html 内容切割代码块。
另一个代码块表达式被打开,但正如我所见,我可以到达在上一个代码块中声明的“i”变量。
那么,asp.net 如何处理-编译-标记中声明的代码块实验片段?它是否检查分号并生成一些匿名方法,这些方法最终会在最后多次调用 Response.Write ?
谢谢,
<p>
<%for (int i = 0; i < 30; i++)
{
Response.Write("Some text here");
%>
<span> ______________________________ </span> <%--So how this line is processed
by ASP.Net so that it is embedded
in the for loop as Response.Write
method's parameter?--%>
<%
Response.Write(i*(i+1));
Response.Write("<br />");
}%>
</p>
您将 C# 代码的范围与内联 ASPX 标记混淆了。实际代码块位于大括号 { } 之间,无论该代码块内有什么内容,在上面的情况下,HTML 代码仍然在单个块内。
只需查找左大括号和右大括号,这些大括号定义了您的代码块,% 符号在 HTML / C# 代码中进出。
您引用的行未使用其上方的 Response.Write 调用。 它只是网页中嵌入的文本。
<span>
标签不是C#代码的“客人”; C# 代码是 ASP 网页的访客(<span>
标签是其中的一部分)。