2012-05-14 14 views
2

に私は要素はそれが</ul>正しい構文は、カミソリ

の終わり5印刷の乗算だ場合、私が欲しいもの、このコードは、カミソリ

@for (int i = 0; i < Model.Count(); i++) 
{ 
    <ul>@createSubastaContainer(Model.ElementAt(i)) 
    if (i % 5 == 0) 
    { 
     </ul> 
    } 
} 

と連携メイクをしようとしてトラブルを抱えていますそれは</ul>すべての時間とも式自体を印刷しているため私のコードで間違って何

UPDATE

赤の

ベースは、私は変更が例外

The for block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.

答えて

3

をスロー作ったときあなたはあなたのif声明、そう@if (...@を配置する必要がなく、サイドノートとして、これは素晴らしいことだそれに答える@marteljn HtmlHelperクラスを拡張する拡張メソッドを作成する機会

編集

それは不一致のタグを拾っています。カミソリビューエンジンは、タグが一致していないとHTMLコンプライアンスを強制します。だから、あなたのタグを@Html.Raw("<ul>")@Html.Raw("</ul>")に置き換えることができます。

+0

私は質問を更新しました – Jorge

+0

私は自分の答えを編集しました...もう一度... Html.Rawは行く方法です。 – marteljn

0

この試してみてください:あなたはこのすべてについての素晴らしい記事を持っている

ここ
@for (int i = 0; i < Model.Count(); i++) 
{ 
    <ul>@createSubastaContainer(Model.ElementAt(i)) 
    @if (i % 5 == 0) 
    { 
     @: </ul> 
    } 
} 

@for (int i = 0; i < Model.Count(); i++) 
{ 
    <ul>@createSubastaContainer(Model.ElementAt(i)) 
    @if (i % 5 == 0) 
    { 
     <text></ul></text> 
    } 
} 

またはこれをhttp://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

が、これは動作するはず

0

お役に立てば幸いです。

@for (int i = 0; i < Model.Count(); i++) 
{ 
    @:<ul> 
    createSubastaContainer(Model.ElementAt(i)) 
    if (i % 5 == 0) 
    { 
     @:</ul> 
    } 
} 
関連する問題