新闻动态
新闻动态
- php中global的用法是什么?
- EntityFrameWorkCore 一对一、一对多和多对多模型的建立
- 提升用户体验度要注意的几点
- 一级目录是什么意思,它对网站排名有什么影响?
- .net如何将用kindeditor将数据上传到数据库
- 什么是MX记录
- window.navigate 与 window.location.href 的使用区别详解
- DateTimePicker中自定义时间或日期显示格式
- 七招制胜ASP.NET应用程序开发
- MySQL报错:ERROR 1118 (42000): Row size too large. 或者 Row size too large (> 8126).
联系我们
邮箱:
手机:15383239821
asp.net
在.net的绑定事件中使用if控制语句
作者:
发布时间:2013-05-03
点击:
做项目中经常会遇到的一个问题,在Repeater中绑定了某个数据源,需要对某个值做判断来选择页面要显示的内容,一个表中有多个值,每个值不同,显示结果也不同,这就需要用if语句来做判断了。
但是在外部可以用的if语句在判断Repeater绑定值的时候会出现问题,当然如果内容代码少的情况下我们可以用 三目算法判断,这个是可以的,例子如下: a==b?a:b;
但是当显示内同代码很多行的时候,这就不可取了,其实我们完全可以使用.net服务器组件的特性来完成我们的操作,在Repeater的显示内容的容器中(如:<table>,<tr>,<div>等)定义一个ID,并设置为服务器组件属性:runat="server"
再在Repeater绑定事件中判断该容器是否显示,事例代码如下:
前台:
- <asp:Repeater ID="Repeater1" runat="server"
- onitemcreated="Repeater1_ItemCreated">
- <ItemTemplate>
- <tr id="depth2" runat="server">
- <td align="left" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="img/menu_bg3.gif" class="menuB">
- <tr>
- <td><a href="news_list.aspx?classId=<%#Eval("id")%>"><%#Eval("className") %></a></td>
- </tr>
- </table></td>
- </tr>
- <tr id="depth" runat="server">
- <td background='<%# (Eval("id").ToString() ==classId || Eval("id").ToString()==perentId)?"img/menu_bj1.gif":"img/menu_bj5.gif"%>'><a href="<%#Eval("otherLink").ToString()==""?"news_list.aspx?classId="+Eval("id"):Eval("otherLink") %>" class="<%#(Eval("id").ToString()==classId || Eval("id").ToString()==perentId)?"STYLE3":""%>"><%#Eval("className") %></a></td>
- </tr>
- </ItemTemplate>
- </asp:Repeater>
后台代码如下:
- protected void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
- {
- if (e.Item.DataItem != null)
- {
- if (((DataRowView)e.Item.DataItem).Row["depth"].ToString() == "2")
- {
- e.Item.FindControl("depth").Visible = false;
- e.Item.FindControl("depth2").Visible = true;
- }
- else
- {
- e.Item.FindControl("depth").Visible = true;
- e.Item.FindControl("depth2").Visible = false;
- }
- }
- }
如此,我们就可以实现完美控制前台的内容显示,而不需要写太多的繁琐代码,代码看起来也不是很凌乱,在例子中我还用了三目算法做样式的判断,基本上的功能都在这里面了
新闻资讯
-
2026-02-01Nuxt 4项目代码说明
-
2012-10-07解析关键词排名不稳定的十大原因
-
2014-06-13网页制作中,怎么样使FLASH在电脑所有屏幕分辨率下都满屏,这个网页中就这一个FLASH
-
2022-01-18C# 提取逗号分割的字符串
-
2010-08-10关于asp.net Session丢失问题的总结
-
2025-12-05SQL中的DATEDIFF函数用于计算两个日期之间的差值
相关案例
