感谢! repeater 中显示数据如何根据不同条件,显示不同数据?

tiger8000 2016-06-22 09:50:43
repeater 中的数据,页面中我加了 AJAX 元素,然后加了一个 Timer1,实现6秒执行一下BindInfo(),为 repeater 绑定数据


private void BindInfo()
{
     略...
   this.Repeater1.DataSource = ds.Tables[0].DefaultView;
this.Repeater1.DataBind();
}


<asp:ScriptManager ID="ScriptManager1" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" Interval="6000" runat="server" ontick="Timer1_Tick"></asp:Timer>

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%#Eval("月流量") %>
</ItemTemplate>
</asp:Repeater>


</ContentTemplate>
</asp:UpdatePanel>
</asp:ScriptManager>


我想要的结果是,如果这次读取数据,如果月流量为 0.00 ,那么就停留在上次的数据不动,不是 0.00 ,就真实显示。

这要怎么办呢,我知道是要用什么正则,类似 这样:

  <%#Eval("月流量").ToString() != "0.00" ? Eval("月流量").ToString() : 如果是0.00就不刷新,停留在上次的数据,这要怎么写呢%>


我的思路是这样,但是实际操作不对,不知道应该 怎么实现了
...全文
192 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
全栈极简 2016-06-22
  • 打赏
  • 举报
回复
在Repeater_DataBound事件中判断,控制timer.Enable=true.
正怒月神 版主 2016-06-22
  • 打赏
  • 举报
回复
你读取到datatable后,直接判断月流量啊。无非就是一个是否绑定数据的过程。 你不绑定,那数据就还是老样子啊。。。。
  • 打赏
  • 举报
回复
asp.net自带的ajax组件应该不行,应该是服务器端直接生成了客户端需要的html代码发送到客户端进行更新,应该没有回发上一次的数据,所以无法显示为0就不更新的操作,无法获取上一次的数据 --- 没用过微软的updatepanel,所以不太清楚,这个是个人简介。 为微软解决方案,导入jquery之类的类库,使用setInterval/setTimeout计时器(微软客户端的Timer实现也是此js对象)从服务器端定时获取ds.Tables[0]序列化为json字符串输出(可以用Newtonsoft.Json.Net20.dll类库,framework3.5+好像也内置有,不清楚怎么用。。),客户端获取后遍历下Repeater1生成的dom,判断如果不是0.00再更新dom对象即可
tiger8000 2016-06-22
  • 打赏
  • 举报
回复
guwei4037, 万能的大版主 能再详细点吗,小弟,学艺不精,暂时还听不懂你的理论,求指点,万分感谢

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧