当前位置:编程学习 > C#/ASP.NET >>

还是拼接html代码的问题

上个贴子地址:http://bbs.csdn.net/topics/390558650
要求最终生成的html代码:


<ul class="jtlo">
<li class="clearfix">
<span style="padding-top:190px;">
<img src="images/1.png"/>
</span>

<span style="padding-top:152px">
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:114px">
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:76px">
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:38px">
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:38px">
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:76px">
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:114px">
<img src="images/1.png"/>
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:152px">
<img src="images/1.png"/>
<img src="images/1.png"/>
</span>

<span style="padding-top:190px;">
<img src="images/1.png"/>
</span>
</li>
</ul>

上个贴子Return_false帮忙写了一下,当时用不到就没细看,现在用到了,发现我要用datareader或dataset输出,之前的代码就有点用不了了。 --------------------编程问答-------------------- 暂时通过这种笨方法解决了,不知有没有更好一点的办法。

        int begin_top = 190;
        int step = 38;
        int count = 190 / 38;
        string begin_html = string.Empty, end_html = string.Empty;
        begin_html += @"<li class=""clearfix"">";
        end_html += @"</li>";

        SqlDataReader sdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.Text, "SELECT * FROM st_Image");

        int l = 0;
        for (int i = 0; i <= count; i++)
        {
            int currentTop = begin_top - i * step;
            bool flag = currentTop != 0;
            begin_html += string.Format(@"<span style=""padding-top:{0}px;"">", currentTop);

            for (int j = 0; j <= i; j++)
            {
                Response.Write(l + "<br>");
                if (sdr.Read())
                {
                    begin_html += string.Format(@"<img src=""{0}""/>", sdr["HomeImgUrl"]);
                }
                l++;
            }
            begin_html += "</span>";
        }

        for (int i = count - 1; i >= 0; i--)
        {
            int currentTop = begin_top - i * step;
            bool flag = currentTop != 0;
            begin_html += string.Format(@"<span style=""padding-top:{0}px;"">", currentTop);

            //Response.Write(i + "<br>");
            for (int j = 0; j <= i; j++)
            {
                //Response.Write(i + "<br>");
                Response.Write(l + "<br>");
                if (sdr.Read())
                {
                    begin_html += string.Format(@"<img src=""{0}""/>", sdr["HomeImgUrl"]);
                }
                l++;
            }
            begin_html += "</span>";
        }

        resulthtml = begin_html + end_html;

--------------------编程问答-------------------- 如果字符长度太长,考虑到速度效率的问题,那么使用StringBuilder来拼接字符串就好一些。
看看这里网站压力在线测试的页面,返回的字符串长度高达几千,速度就显得至关重要。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,