页面中有一个repeater控件。用来显示用户列表。其中有一项是用来显示用户所属的用户组的,在用户列表表中只有用户组ID,所以在绑定时需要在itemdatabound中根据组ID来读取用户组名(见红字色部分)
protected void rtUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Literal ltRole = (Literal)e.Item.FindControl("ltRole");
ltRole.Text = user.GetRoleName(Convert.ToInt32(ltRole.Text));
}
}
问题:
如果每页显示二十条数据,那么每显示一页都要对数据库进行二十次读取操作,当访问量增大时,这个服务器肯定无法承受。请问大家遇到此种情况是如何解决的?
protected void rtUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Literal ltRole = (Literal)e.Item.FindControl("ltRole");
ltRole.Text = user.GetRoleName(Convert.ToInt32(ltRole.Text));
}
}
问题:
如果每页显示二十条数据,那么每显示一页都要对数据库进行二十次读取操作,当访问量增大时,这个服务器肯定无法承受。请问大家遇到此种情况是如何解决的?
解决方案 »
- 反编译器reflector可以完全把.DLL转化成,CS不
- Comet ajax长连接及demo
- 如何利用GridView实现动态绑定数据?
- 请问asp.net可以实现客户端指定文件夹的吗
- 一个关于从导入浏览器收藏夹的问题,请求帮助!!
- 在用ado.net进行insert 时大家都是这样做的吗?不是比以前是不是麻烦多了?
- 求4.3或4.4的jmail专业版,能用来收pop3邮件的组件~~~~~~~
- 在网站上如何实现手机铃声/图片下载功能??
- 他提示常量中有换行符。我没找到问题所在
- 网页如何打开一个目录对话框?在线等!!!!!!
- 找ASP。NET C#+oracle应用开发兼职做一个小项目,限深圳地区
- 帮忙看看这个是什么意思啊select count
<%# Eval("对象.属性")%>
select a.*,b.name from user as a left join group as b on a.gid=b.id
-----------------------
我其实想过用这个方法的。因为涉及到分页(网上流行的分页方式那种)多表联接查询又得要改逻辑了!!用户实体类中,通过属性绑定用户组对象
<%# Eval("对象.属性")%>
---------------------------------
没弄明白。能举个例子吗?
还有一种是对datatable处理一下把 所有的ltRole.Text 这个都读取出来,然后一次性在数据库里全部读取出来,然后放入hash或dic中然后在用函数反回来读
——————————————————————
这种是不是太复杂化了?