我做了一个页面,每次打开时都要好长时间,下面是一些代码:
for (int i = 0; i < UserManager.getFloorsAll(0).Count; i++)
{ flr = UserManager.getFloorsAll(0)[i]; //人数循环 html = "<table width='100%'><tr><td align=center><table><tr>";
for (int j = 0; j < Convert.ToInt32(Math.Pow(2, i)); j++)
{ html += "<td align=center><table style='background-image: url(../image/newlogin_06.gif); background-color: transparent;width: 50px; height: 30px'><tr><td align=center>"; html += "<a href='Graph1.aspx?userno=" + y + "&floor=" + i + "'>" + y + "</a>"; html += "</td></tr><tr><td align=center>";
name = UserManager.getNameByNoFty(y, 0);
//html += "<input id='Text"+y+"' type='text' runat='server' />";
if (name == "")
{
html += "<a href='AddUser.aspx?userno=" + y + "&floor=" + i + "'>注册</a>";
}
else
{
html += name;
}
html += "</td></tr></table></td>"; y = y + 1;
} html += "</tr></table></td></tr></table>";
li.Add(html);就是说在这里生成前台的显示内容,请问怎么样能提高页面的打开速度呢
for (int i = 0; i < UserManager.getFloorsAll(0).Count; i++)
{ flr = UserManager.getFloorsAll(0)[i]; //人数循环 html = "<table width='100%'><tr><td align=center><table><tr>";
for (int j = 0; j < Convert.ToInt32(Math.Pow(2, i)); j++)
{ html += "<td align=center><table style='background-image: url(../image/newlogin_06.gif); background-color: transparent;width: 50px; height: 30px'><tr><td align=center>"; html += "<a href='Graph1.aspx?userno=" + y + "&floor=" + i + "'>" + y + "</a>"; html += "</td></tr><tr><td align=center>";
name = UserManager.getNameByNoFty(y, 0);
//html += "<input id='Text"+y+"' type='text' runat='server' />";
if (name == "")
{
html += "<a href='AddUser.aspx?userno=" + y + "&floor=" + i + "'>注册</a>";
}
else
{
html += name;
}
html += "</td></tr></table></td>"; y = y + 1;
} html += "</tr></table></td></tr></table>";
li.Add(html);就是说在这里生成前台的显示内容,请问怎么样能提高页面的打开速度呢
StringBuilder比+=拼接快得多。
StringBuild在初始化的时候再分配过程中还提供了一段缓存,所以如果你的字符串是变量,使用StringBuild更有效率
for (int i = 0; i < count; i++)
拼接用 StringBuilder 循环最好用 foreach
这个取出来的是什么值
放在页面前面
应该是用
IEnumerable floors = UserManager.getFloorsAll(0);
然后foreach floors;