日期:2014-05-18  浏览次数:20370 次

.net 列表数据循环写法问题
现在和同事对于 页面某处10条数据的列表的循环写法


A同事的写法是直接在页面写
<%if (dszhoubiantop != null)
 {
  for (int j = 0; j < dszhoubiantop.Tables[0].Rows.Count; j++)
  {
%>
新闻编号是:<%=j%>
<%
  }
  }
%>

B同事的写法是在后置类中写
<%=GetList()%>
protected string GetList()
{
  //这里面是循环 的代码 拼接前台的列表文字
}


B认为A的页面大小会很大,解析慢,写在后台可以加快前台html代码的呈现速度 解析慢
A认为B的代码,将来修改一处地方还得去后台去修改,完后还得编译更新dll, 修改不方面


我个人认为这个某处循环列表 写在后台 那一天修改或者布局变了 还得编译 更新DLL组件。

请大家来衡量下。谢谢了


------解决方案--------------------
编译了 都一样吧。

最好是使用Repeater控件来呈现,代码最好还是在cs文件中,否则html和c#混杂就又回到asp时代了,不利于协作分工,这样更不容易维护,替换页面和替换dll工作量相差不大。
------解决方案--------------------
将业务逻辑与展现相分离,不同的人处理不同的事,每个人做好自己的,这才是有效率的,而且责任明确。

aspx就是个模板页面,里边加入合适的标签。

然后cs文件中进行数据逻辑处理,绑定数据到标签。


------解决方案--------------------
放后台 执行 循环代码吧 方便管理
以后 修改 在后台修改就好了