0

我在 C# 中有以下代码,它正在从 db 打印图像。通过此代码图像和单选按钮在单行中显示单次。这是我的代码

foreach (DataRow item in ds.Tables[0].Rows)
        {
            divs += @"  <div style="" position:relative; height:100px; width:400px; margin:10px auto;"">
                            <div style=""position:absolute; width:80px; height:80px; top: 10px; left: 130px;"">
                                 <a href=""#"" class=""screenshot"" rel=""images/"+item["namee"].ToString()+@".jpg"" ><img src=""images/" + item["namee"].ToString() + @".jpg"" width=""80px"" height=""80px""  /></a>
                        </div>";
            if(id < 1){
            divs += @"  <div style=""position:absolute; width:231px; left:240px; top:35px; height: 40px;"">
                                <p style="" margin-top:10px; margin-left:20px; ""><input type=""radio"" name=""SSRI"" value=""" + item["namee"].ToString() + @""" /></p>
                            </div>";
            }

            divs += @"<div style=""position:absolute; width:231px; left:100px; bottom:10px; height: 40px;"">

                            </div>
                        </div>";
        }
        Response.Write(divs);

通过这个代码输出是这样的

Images '' radio
Images '' radio

但我希望输出应该像这样

Images '' radio    Images '' radio
Images '' radio    Images '' radio

有没有人可以帮助我做到这一点。请帮忙 !

4

1 回答 1

0

我不确定您当前的代码如何尝试执行您想要的操作,但您应该使用浮动 divs。删除所有你拥有的top leftand position:absolute,然后使用float, heightand width。然后使用clear:left;to 换行。

例如,在您的代码中:

int currLine = 0;
foreach (DataRow item in ds.Tables[0].Rows)
{
      if (currLine % 2 == 0)
      {
         // Every second item, move to a new line
         divs += @"<div style=""clear:float;"" />"
      }  

      divs += @"  <div style=""float:left;  width:400px; margin:10px auto;background:yellow;">
                        <div style=""width:80px; height:80px;background:red;""
                             <a href=""#"" class=""screenshot"" rel=""images/"+item["namee"].ToString()+@".jpg"" ><img src=""images/" + item["namee"].ToString() + @".jpg"" width=""80px"" height=""80px""  /></a>
                    </div>";
        if(id < 1){
        divs += @"  <div style=""width:231px;height: 40px;background:blue;"">
                            <p style="" margin-top:10px; margin-left:20px; ""><input type=""radio"" name=""SSRI"" value=""" + item["namee"].ToString() + @""" /></p>
                        </div>";
        }

        divs += @"<div style=""width:231px; height: 40px;background:green;"">

                        </div>
                    </div>";
    }
    Response.Write(divs);

我冒昧地添加了不同的颜色backgrounds,这样你就可以更好地了解什么是什么......

于 2012-12-16T19:18:54.177 回答