/ / ASP.NET-Rasierer-Engine scheint retard - asp.net-mvc, Rasierer

ASP.NET-Rasierer-Engine scheint retard - asp.net-mvc, Rasierer

Ich habe eine Ansicht, die nichts als das Folgende enthält:

<table>
@for (int i = 0; i < 10; i++)
{
if (i % 5 == 0)
{
<tr>
}

<td>
Hello
</td>

if (i % 5 == 0)
{
</tr>
}
}
</table>

Ich wollte Folgendes produzieren

<table>
<tr>
<td>Hello</td>
<td>Hello</td>
<td>Hello</td>
<td>Hello</td>
<td>Hello</td>
</tr>
<tr>
<td>Hello</td>
<td>Hello</td>
<td>Hello</td>
<td>Hello</td>
<td>Hello</td>
</tr>
</table>

Aber stattdessen produzierte es Folgendes:

    <table>
<tr>
}

<td>
Hello
</td>

if (i % 5 == 0)
{
</tr>
<tr>
}

<td>
Hello
</td>

if (i % 5 == 0)
{
</tr>
</table>

Ich verstehe nicht, was falsch ist.

Zusätzlich zu diesem Problem hat Ihre Website mich nicht erlaubt, die Frage zu posten: "Es sieht so aus, als ob Ihr Beitrag hauptsächlich aus Code besteht; bitte fügen Sie weitere Details hinzu.". Was ist falsch mit meinem Post ????

Antworten:

1 für die Antwort № 1

Sie müssen jedem HTML-Code, den Sie auf der Seite anzeigen möchten, einen @ -Zeichen voranstellen: wenn es in einem Codeblock ist

<table>
@for (int i = 0; i < 10; i++)
{
if (i % 5 == 0)
{
@:<tr>
}

@:<td>
@:Hello
@:</td>

if (i % 5 == 0)
{
@:</tr>
}
}
</table>

1 für die Antwort № 2

  @for (int i = 0; i < 10; i++)
{
if (i % 5 == 0)
{
@:<tr>
}
<td>
Hello
</td>

if (i % 5 == 0)
{
@:</tr>
}

}
</table>

1 für die Antwort № 3

Um die gewünschte Ausgabe zu erzeugen, möchten Sie eigentlich Folgendes:

<table>
@for (int i = 0; i < 10; i++)
{
if (i % 5 == 0)
{
@:<tr>
}

@:<td>
@:Hello
@:</td>

if ((i + 1) % 5 == 0)
{
@:</tr>
}
}
</table>

Beachten Sie die Änderung der zweiten if-Anweisung. Alternativ könnten Sie geschachtelte for-Schleifen verwenden, um das gleiche Ergebnis zu erzielen.

<table>
@for (int i = 0; i < 2; i++)
{
<tr>
@for (int j = 0; j < 5; j++)
{
<td>Hello</td>
}
</tr>
}
</table>

0 für die Antwort № 4

Du solltest den Codeblock über mehrere Zeilen hinweg haben, also sollte er in geschweiften Klammern stehen (geschweifte Klammern nach dem @)

@{
for (int i = 0; i < 10; i++)
{
Blah blah...
}
}