3

以下のasp.Netの動作原理を誰かが説明できますか?

aspx マークアップに 2 つの個別のコード ブロック asp.Net 式があり、その間に html コンテンツがあります (以下の例の span 要素)。

最初のコード ブロックには、 forループのインクリメント変数として "i" があります。

次に、コード ブロックが html コンテンツで切り取られます。

別のコード ブロック式が開かれますが、前のコード ブロックで宣言された "i" 変数に到達できます。

では、マークアップで宣言されたコード ブロック experrions の断片を 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>
4

2 に答える 2

1

C# コードのスコープとインライン ASPX マークアップを混同しています。実際のコード ブロックは、そのコード ブロック内に何があるかに関係なく、中かっこ { } の間にあります。上記の場合、HTML コードはまだ単一のブロック内にあります。

開き中括弧と閉じ中括弧を探してください。これらはコード ブロックを定義し、% 記号は HTML / C# コードに出入りします。

于 2010-10-25T14:05:42.777 に答える
0

あなたが参照している行は、その上の Response.Write 呼び出しを使用していません。これは単に Web ページに埋め込まれたテキストです。

<span>タグは C# コードの "ゲスト" ではありません。C# コードは ASP Web ページのゲストです (<span>タグはその一部です)。

于 2010-10-25T14:03:04.547 に答える