Css每行显示3个foreach结果

时间:2011-07-28 13:07:20

标签: c# javascript asp.net html css

我有这个asp.net代码:

 @foreach( var database in Model)
 {

        if (!(firstTime == database.DB))
        {
          <h3> @database.DB </h3>
        }

           <div class="logContainer" onclick="location.href='/logs/Details?databaseID=@database.DB&exceptionName=@database.Exception&exceptionsOccurred=@database.Count';">
                <div class="counter"><b>@database.Count</b></div> 
                <div class="exceptionName"> Exceptions of Type: @database.Exception</div>
                <div class="date">Siste: @database.LastOccurred</div>
         <hr />   </div>


     firstTime = database.DB; 
}

这个CSS:

.logContainer
{
 width:500px;

}

.logContainer:hover 
{
cursor:pointer;
background-color:#ffffcc;
}


.counter {
height: 30px;
width:35px;
float:left;
background: none repeat scroll 0 0 #E6FFDC;
border: 1px solid #BBDD66;
text-align:center;
vertical-align:middle; 
line-height:1.5em;
font-size:1.5em;
}

.exceptionName
{
width:200px;
display:inline;
padding-left: 10px;
display: inline;
}

.date
{
font-size: 0.9em;
color:gray;
width:200px;
padding-left: 47px; 
}

它的作用是每行显示输出行,当Dabase.DB更改时,它会写入并重新开始。

我想要的是水平显示输出,每行有3个logcontainer,如果我遇到一个新的database.DB,请打破它,写下数据库的名称并从左边开始。

我该怎么做修改代码呢?

1 个答案:

答案 0 :(得分:1)

让你的.logcontainer浮动到左边,每3个显示,清除浮动。

currentCol = 0
@foreach( var database in Model)
{

    if (!(firstTime == database.DB))
    {
      <h3> @database.DB </h3>
      currentCol = 0
    }

        <div class="logContainer" onclick="location.href='/logs/Details?databaseID=@database.DB&exceptionName=@database.Exception&exceptionsOccurred=@database.Count';">
            <div class="counter"><b>@database.Count</b></div> 
            <div class="exceptionName"> Exceptions of Type: @database.Exception</div>
            <div class="date">Siste: @database.LastOccurred</div>
        </div>

    currentCol += 1;
    if (currentCol = 2) { //3 columns were displayed, switch row
        currentCol = 0;
        <br style="clear:both" />
    }

    firstTime = database.DB; 
}

CSS:

.logContainer
{
  width:500px;
  float:left;
}

note :如果.logContainer的父容器宽度小于1500px,则最终会得到一行2列,后跟一行1列。