2 つの要素が true のときにHTMLdiv
タグをループ表示したい。for
したがって、次のように開始を表示する必要がありますdiv
。
*.chtml below
Html.Raw("<div class=\"additional-options clearfix\" style=\"display: block;\">");
もう一方の要素が true の場合に終了タグを表示します。
その結果、div は HTML で出力されません。
他の解決策はありますか?
2 つの要素が true のときにHTMLdiv
タグをループ表示したい。for
したがって、次のように開始を表示する必要がありますdiv
。
*.chtml below
Html.Raw("<div class=\"additional-options clearfix\" style=\"display: block;\">");
もう一方の要素が true の場合に終了タグを表示します。
その結果、div は HTML で出力されません。
他の解決策はありますか?
Razor を使用しているため、次のように HTML を直接記述できるはずです。
<body>
<span>This is some normal HTML</span>
@{
Boolean fork = true;
Int32[] numbers = new Int32[] {1,2,3,4,5,6};
if(fork)
{
<div>If fork is true, this will display</div>
foreach(Int32 number in numbers)
{
<span>@number</span>
<span>@HttpUtility.HtmlDecode("<Tag>This is a nonsense tag </Tag>")</span>
}
}
else
{
<div>If fork is false, this will display</div>
}
}
<span>This is more normal HTML</span>
</body>
@{ }
HTML からコードへのエスケープ (または、場合によっては再び元へのエスケープ) に必ず を使用してください。
また、終了タグのないプレーン テキストまたは html タグを出力する必要がある場合は、@: 構造を使用する必要があります。例えば:
<div>
@if (Model.IsTrue)
{
@:Statement is true.
@:<img src="/Images/cool.jpg" alt="" />
} else {
<span>Statement is not true.</span>
}
</div>
@: を使用して C# コードを終了し、HTML モードに入る必要があることに注意してください。ただし、オープン クローズ タグを含む HTML 要素がある場合、エスケープ文字を使用する必要はありません。