首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么有条件显示或不显示DataList ItemTemplate里的某些内容

2011-12-19 
如何有条件显示或不显示DataList ItemTemplate里的某些内容现有数据库中有一个表,用DataList显示。比如有10

如何有条件显示或不显示DataList ItemTemplate里的某些内容
现有数据库中有一个表,用DataList显示。比如有10列,现在需要根据电脑显示器宽度显示不同列数。如果是640x460,就显示5列,其余5列不显示。如果是1024x768,就全部显示

假设已经把屏幕宽度赋值到   screenWidth里

在   mypage.aspx   文件里

<itemtemplate>
<asp:label   id= 'col1 '   text= 'something '>
<asp:label   id= 'col2 '   text= 'something2 '>
...
<%   if   screenWidth   >   1000   %>
<asp:label   id= 'col6 '   text= 'something6 '>
...
<asp:label   id= 'col10 '   text= 'something10 '>
<%   end   if   %>

</itemtemplate>


我希望达到上述假想代码(实际不能编译)的效果。有什么高招吗?


[解决办法]
考虑到性能,比如对于 800×600 的分辩率,就不需要执行绑定额外的五个字段,

需稍微复杂的代码,

<itemtemplate>
<%# GetBindDataItem(Container.DataItem, scrennWidth) %>
<itemtemplate>

protected string GetBindDataItem(object dataItem, int screenWith) // 是一个自定义的方法
{
// 编程代码绑定方式
// object val1 = System.Web.UI.DataBinder.Eval(dataItem, "MyFieldName1 ");
// object val2 = System.Web.UI.DataBinder.Eval(dataItem, "MyFieldName1 ");
// ...
// return " " + val1 + val2 + ...

}

热点排行