1

これは本当に簡単な質問だと思いますが、ASP.NET MVC は初めてです。

モデルからデータを取得しますが、同じ長さ、またはできるだけ同じ長さに近い 3 つの列に分割したいと考えています。

これらの for ループはうまく機能しないので、テンプレートでこれを行う最善の方法について少し迷っています。

ありがとう。

ここに画像の説明を入力

編集:私ははるかに良い方法でそれを解決しました。次のように css で実行できます。

    <div class="topic_content">
        <div>
        <ul>
            @for (int i = 0; i < Model.Topics.Length; i++)
            {
                <li><a href="javascript:void(0)" class="company_topic" data-popularity="@Model.Topics[i].Popularity" data-topicId="@Model.Topics[i].Id">@Model.Topics[i].Name.ToLower()</a></li>
            }
        </ul>
        </div>

    </div>

そして、CSSで次のように設定しました:

.topic_content ul { width: 100%; }
.topic_content ul li { list-style: none; text-align: left; float:left; width:33%; }
4

2 に答える 2

0

これを実現するための CSS テクニックの優れた記事を次に示します。

http://www.alistapart.com/articles/multicolumnlists/

于 2012-05-07T17:32:38.997 に答える
0

C# で実行する場合は、次の方法をお勧めします。

@{
    var topics = Model.Topics;
    var takeCount = Model.Topics.Count() / 3;
}
@for( i=0; i<3; i++ ) {
    <div class="topic_content">
        <div>
        <ul>
            @foreach( var topic in topics.Take( takeCount ) )
            {
                <li><a href="javascript:void(0)" class="company_topic" data-popularity="@topic.Popularity" data-topicId="@topic.Id">@topic.Name.ToLower()</a></li>
            }
            @{ topics = topics.Skip( takeCount ); }
        </ul>
        </div>

    </div>
}
于 2012-05-07T19:01:06.297 に答える