0

これは、年と月のリストを作成する私のコードです

    var currentDate = DateTime.Now;
            var list = new List<ArchiveViewModel>();
            for (var startDate = currentDate; startDate >= new DateTime(2012, 8, 1); startDate = startDate.AddMonths(-1))
            {
                list.Add(new ArchiveViewModel
                {
                    Month = startDate.Month,
                    Year = startDate.Year,
                    FormattedDate = startDate.ToString("MMMM, yyyy")
                });
            }
            return PartialView("_ArchiveSidebar", list);

これはかみそりの私のコードです

@foreach (var archive in Model)
    {
        <ul>
            <li>
                @Html.ActionLink(archive.FormattedDate, "Post", "Archive", new { year = archive.Year, month = archive.Month }, null)
            </li>
        </ul>   
}

この場合、結果は次のようになります

    August, 2013
    July, 2013
    June, 2013
    May, 2013
    April, 2013
    March, 2013
    February, 2013
    January, 2013
    December, 2012
    November, 2012
    October, 2012
    September, 2012
    August, 2012

しかし、私はこのようなものが欲しい

August, 2013    July, 2013
June, 2013      May, 2013
April, 2013     March, 2013
February, 2013  January, 2013
December, 2012  November, 2012
October, 2012   September, 2012
August, 2012

明らかにデータは静的です。どうすればいいですか??

4

3 に答える 3

2

データが静的か動的か、どのような要素が内部にラップされているかについて、十分な情報を提供していません。

あなたの質問に対する私の理解に基づいてお答えします。

List を使用して、必要な方法でデータをフォーマットできます。次のように、すべての項目を順序なしリスト (つまりUL)に入れます。

HTML

<div id="somelist">
<ul>
<li>August, 2013</li>
<li>July, 2013</li>
<li>June, 2013</li>
<li>May, 2013</li>
<li>April, 2013</li>
<li>March, 2013</li>
<li>February, 2013</li>
<li>January, 2013</li>
<li>December, 2012</li>
<li>November, 2012</li>
<li>October, 2012</li>
<li>September, 2012</li>
<li>August, 2012</li>
</ul>
</div>

そして、ラッパー div の幅を設定し、固定幅の各リスト項目で display-block を使用して、2 つのペアが連続するようにします。このような:

CSS

#somelist
{
    width:500px;
    padding:10px;
}
#somelist > ul
{
    display:inline-block;
    padding: 0;
    list-style:none;
}

#somelist > ul > li
{
    display:inline-block;
    width:200px;
    padding:2px;    
}

サンプルは次のとおりです: http://jsfiddle.net/3bwyj/1/

アップデート

コードを次のように置き換え、私が提供した CSS を使用します。

<div id="somelist">
  <ul>
    @foreach (var archive in Model)
        {
          <li>
              @Html.ActionLink(archive.FormattedDate, "Post", "Archive", new { year = archive.Year, month = archive.Month }, null)
          </li>
        }
  </ul>   
</div>

UL の DIV ラッパーを追加したことに注意してください。また、div の ID を somelist から別のものに変更することを忘れないでください。

于 2013-08-07T17:28:23.913 に答える
1

phpforeach ループだと思います。

PHPFiddle http://phpfiddle.org/main/code/3y5-ymg

html/php

<div class="wrapper">
    <?php
    foreach ($Result as $Row)
    {
        ?>
        <div class="col">
            <?php echo $Row ?>
        </div>
        <?php
    }?>
    <div style="clear:both"></div>
</div>

CSS

.wrapper {
    width: 600px; // you can set this to what you want
}
.col {
    width: 45%;
    float: left;
}

リストでも同じことができます。ロジックは同じです。

于 2013-08-07T17:28:42.707 に答える