0

アイテムのコレクションがあり、それらを Razor で印刷したいと考えています。12 要素ごとに、新しい div を作成する必要があります。ただし、開始タグと終了タグは多くの問題を引き起こすようです。これは私のコードです。

<div class='grid_7'>
@foreach (var property in properties)
{

    @if (counter % 12 == 0)
    {
    </div>
    <div class='grid_7'>
    }

    @if (property.ShowInEditor)
    {
    <span> one property! @(property.Name) </span>
    }

    counter++
}

ifただし、最初と最初foreachにクロージングが欠落していると言ってい{ます。閉じられていないタグが原因だと思いますが、ご覧のとおり、タグを閉じることができません。

これどうやってするの?

編集:Razorにコードではなくテキストであると信じ込ませるさらに多くの問題を引き起こす@前に削除します。if

4

3 に答える 3

2

開始時にカウンターがゼロであることを考慮して、条件を少し変更する必要があります。そうしないと、最初の反復で空の div が取得されます。

<div class='grid_7'>

@{
    var counter = 0;

    foreach (var property in properties)
    {

        if (counter > 0 && counter % 12 == 0)
        {
            @Html.Raw("</div><div class='grid_7'>")
        }

        if (property.ShowInEditor)
        {
            <span> one property! @(property.Name) </span>
        }

        counter++;
    }

</div>
于 2013-07-26T11:19:09.863 に答える
0
<div class='grid_7'>
    @foreach (var property in properties)
    {
        if (count%7==0)
        {
            @Html.Raw("</div>");
            @Html.Raw("<div class='grid_7'>");
        }

        else 
        {
            //do something 
        }
于 2013-07-26T11:10:37.763 に答える