0

こんにちは、次のコードがありますが、ループ内の if ステートメントが原因でステートメントが失敗します。アイデアはありますか?

@{ var count = 1; }
@foreach (var siteIcon in Model.SiteIconsList)
{
    <div class="span2">
        <a onclick="updateIcon(@siteIcon.ImageId)" href='#'>
            <img class="iconImage" src="data:Image;base64,@(Html.Raw(Convert.ToBase64String(siteIcon.ImageData)))" alt="" />
        </a>
    </div>
    if(count==5){
        </div>
         <div class="row-fluid">
         count=1;
    }
}
4

4 に答える 4

2

それは、最後のdivが混乱したかみそりだったようです。これを停止するために、新しい開始divと終了divをhtmlstringでラップして解析を停止し、カウンターを修正することで機能させました。

   <div class="row-fluid">
                @{
                    var count = 1;
                    foreach (var siteIcon in Model.SiteIconsList)
                    {
                        <div class="span2">
                                <a onclick="  updateIcon(@siteIcon.ImageId)" href='#'>
                                    <img class="iconImage" src="data:Image;base64,@(Html.Raw(Convert.ToBase64String(siteIcon.ImageData)))" alt="" />
                                </a>
                            </div>
                        if (count == 5)
                        {
                            @(new HtmlString("</div><div class=\"row-fluid\">"))
                            count = 0;
                        }
                        count = count + 1;
                    }
                }
     </div> 
于 2012-11-07T11:20:02.210 に答える
0

あなたの div は適切にフォーマットされていません。それらは前に閉じられ、後で開かれます。これを確認してください

</div>
<div class="row-fluid">

代わりにこれを行うことができます

if(count==5){

<div class="row-fluid"> </div>
count=1;

}
于 2012-11-07T10:41:28.640 に答える
0

これを試して:

            @foreach (var siteIcon in Model.SiteIconsList)
            {
                <div class="span2">
                    <a onclick="updateIcon(@siteIcon.ImageId)" href='#'>
                        <img class="iconImage" src="data:Image;base64,@(Html.Raw(Convert.ToBase64String(siteIcon.ImageData)))" alt="" />
                    </a>
                </div>
                if(count==5){

                     <div class="row-fluid">
                     </div>
                    count=1;
                }
            }
于 2012-11-07T10:41:40.717 に答える
0

まず、ループの最後でカウントをインクリメントしていないため、条件が満たされることはありません。

次のように Foreach を For に変更することをお勧めします。

for(int i=0; i<Model.SiteIconsList.Count;i++)
                if(i==5){
                    <text></div>
                     <div class="row-fluid"></text>
                     count=1;
                }
            }

失敗したときにどのようなメッセージが表示されますか? HTML レンダリング モードに戻るために使用する必要がある場合があります。

于 2012-11-07T10:42:11.930 に答える