asp.net使用for循环实现Datalist的分列显示功能
2023-06-13 09:14:14 时间
服务器控件虽然用起来方便,但是也牺牲了性能,有些时候用起来显得大而无当。希望先进朋友多多指教。
复制代码代码如下:
///<summary>
///工程业绩--用for循环代替了DataList多列显示,得到2行四列的表格,需要内存表的8行数据
///</summary>
privatevoidGcyjShow()
{
StringBuildersb=newStringBuilder();
ProductBLLpb=newProductBLL();
DataTabledt=pb.GetProductByMoreConditions("工程业绩","工程业绩","启用");
intcount=dt.Rows.Count;//行数
sb.Append("<tablestyle="display:inline;vertical-align:middle;"cellpadding="5"align="center">");//俩行四列的表格
sb.Append("<tr>");
for(inti=0;i<count;i++)
{
DataRowdr=dt.Rows[i];
stringstrId=dr["ProdId"].ToString();
stringstrUrl=dr["Picture"].ToString();
stringstrName=dr["ProdName"].ToString();
if(dr!=null)
{
sb.Append("<td>");
sb.Append("<tableborder="0"cellspacing="0"cellpadding="0"width="100%">");
sb.Append("<tr>");
sb.Append("<tdbgcolor="#ffffff">");
if(!string.IsNullOrEmpty(strId)&&!string.IsNullOrEmpty(strName)&&!string.IsNullOrEmpty(strUrl))
{
sb.Append("<atitle="/"+strName+""");
sb.Append("href="GcyjShow.aspx?strId="+strId+"">");
sb.Append("<imgborder="0"width="120"height="98"alt="");
sb.Append(strName+""");
sb.Append("src="/Photo/");
sb.Append(strUrl+"">");
sb.Append("</a>");
}
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<divstyle="padding-left:15px;background:url(Images/index_r1_c9.jpg)no-repeat">");
if(!string.IsNullOrEmpty(strName))
{
if(strName.Length>7)
sb.Append(strName.Substring(0,7)+"...");
else
sb.Append(strName);
}
sb.Append("</div>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
}
//我们把内存表的4行数据,当做4列一行来输出
//如果内存表行数count<=4,即小于我们要显示的一行一列,会自动终止循环,不需要对tr进行处理
//在等数据等于四列(即一行),且大于一行时--才进行换行
if(i==3&&count>4)
{
sb.Append("</tr><tr>");
}
if(i==7)//当循环达到8次时,一个俩行四列的表格已经完成,此时终止循环
{
break;
}
}
sb.Append("</tr>");
sb.Append("</table>");
lblGcyj.Text=sb.ToString();//用Label标签来输出
}
相关文章
- .NET性能优化-使用RecyclableMemoryStream替代MemoryStream
- .net让Oracle与ASP.NET实现无缝连接(oracleasp)
- .net利用MSSQL连接ASP.NET的办法探索(mssql 连接asp)
- MySQL中的net网络通信架构详解(mysql 中net)
- ASP连接MySQL实现优雅的数据查询(asp连接查询mysql)
- MySQL重新梳理ASP源码转换指南(asp源码转mysql)
- asp.net中MD516位和32位加密函数
- asp.net下利用JS实现对后台CS代码的调用方法
- asp.net两级联动(包含添加和修改)
- asp.net开发与web标准的冲突问题的一些常见解决方法
- asp.net生成数字和字母组合的随机数
- asp.net每天定点执行任务
- ASP.NET前台javascript与后台代码调用
- ASP.NET下对cookies的操作实现代码
- asp.net获得数据控件事件索引并获取其中值总结
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- ASP.NET页面请求处理介绍
- 基于ASP.NET的lucene.net全文搜索实现步骤
- .net的命名空间类库的简单介绍
- 深入理解Asp.net中DataBinder.Eval的用法总结
- asp.net采集网页图片的具体方法
- .net基础收集汇总
- ASP.NET实现TreeView的XML数据源绑定实例代码
- asp.net显示自己的网页图标的几种方式
- asp.netC#实现解压缩文件的方法
- ASP.NET生成两个日期范围内随机时间的实现方法
- Asp.net回调技术Callback学习笔记
- Asp.Net中的字符串和HTML十进制编码转换实现代码
- asp.net后台动态添加JS文件和css文件的引用实现方法