3

有人可以在下面解释一下asp.Net的工作原理吗?

我在 aspx 标记中有 2 个单独的代码块 asp.Net 表达式,中间有一个 html 内容(下例中的 span 元素)。

在第一个代码块中,有“i”作为for循环的增量变量。

然后用 html 内容剪切代码块。

并且打开了另一个代码块表达式,但正如我所见,我可以到达在前一个代码块中声明的“i”变量。

那么,asp.net 如何处理 - 编译 - 标记中声明的代码块 experrions 片段?它是否检查分号并生成一些匿名方法,这些方法最终会导致对 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>
4

2 回答 2

1

您将 C# 代码的范围与内联 ASPX 标记混淆了。ACTUAL 代码块位于大括号 { } 之间,无论该代码块内是什么,在上述情况下,HTML 代码仍在单个块内。

只需寻找打开和关闭花括号,它们定义了您的代码块,% 符号在 HTML / C# 代码中进出。

于 2010-10-25T14:05:42.777 回答
0

您引用的行没有使用其上方的 Response.Write 调用。它只是网页中嵌入的文本。

<span>标签不是 C# 代码的“客人” ;C# 代码是 ASP 网页的访客(<span>标签是其中的一部分)。

于 2010-10-25T14:03:04.547 回答