repeater绑定问题很困惑望高手解决,100分送上!!!!

yoskool 2007-05-18 03:58:54
repeater显示一个列表其中有一个字段是一个链接,这个这段根据条件可以使用或不能使用

很困惑无思路望高手解决
...全文
214 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2007-05-18
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="True" %>

<html>
<head>

<script language="C#" runat="server">
// 计算数据,完全可以从数据看取得
ICollection CreateDataSourceByXianhuiMeng( )
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));

for (int i = 0 ; i < 8 ; i++)
{
System.Random rd = new System.Random(Environment.TickCount * i); ;
dr = dt.NewRow();
dr[0] = "班级" + i.ToString();
dr[1] = "【孟子E章】" + i.ToString();
dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
dt.Rows.Add(dr);
}
System.Data.DataView dv = new System.Data.DataView(dt);
return dv;
}


void Page_Load( Object Sender, EventArgs e )
{

if (!IsPostBack)
{

Repeater1.DataSource = CreateDataSourceByXianhuiMeng();
Repeater1.DataBind();
}
}

void R1_ItemDataBound( Object Sender, RepeaterItemEventArgs e )
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label x = (Label)e.Item.FindControl("Label1");
if (Double.Parse(x.Text) < 80.0)
{
x.Text = "<font color=red>不到80阿</font>";
}

}
}


</script>

</head>
<body>
<h3>
OnItemDataBound Example</h3>
<form id="Form1" runat="server">
<p>
<asp:Repeater ID="Repeater1" OnItemDataBound="R1_ItemDataBound" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="RatingLabel" Text='<%# DataBinder.Eval(Container.DataItem, "学生姓名") %>'
runat="server" />
<td>
<asp:Label ID="Label1" Text='<%# DataBinder.Eval(Container.DataItem, "数学") %>' runat="server" />
</td>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
yoskool 2007-05-18
  • 打赏
  • 举报
回复
孟大哥我就是要的这个 谢谢啦
孟子E章 2007-05-18
  • 打赏
  • 举报
回复
Label x = (Label)e.Item.FindControl("label1");
x.Text = "任意控制";
cantonstar 2007-05-18
  • 打赏
  • 举报
回复
text='<%#geturl(DataBinder.Eval(Container.DataItem, "url"))%>'

cs:
protect string geturl(object url)
{
if()
{}
else
{}
return //返回结果就行了
}
yoskool 2007-05-18
  • 打赏
  • 举报
回复
关键是在repeater下我怎么对Label的Text进行控制
yoskool 2007-05-18
  • 打赏
  • 举报
回复
是这样的<a href="xxx"><asp:Label ID="Label3" runat="server" Text="Label"></asp:Label></a>

我想根据条件使Text的文字不同
cantonstar 2007-05-18
  • 打赏
  • 举报
回复
判断完以后,把结果return回来就好了
cantonstar 2007-05-18
  • 打赏
  • 举报
回复
绑定的时候调用后台的方法<%#geturl(DataBinder.Eval(Container.DataItem, "url"))%>
在cs文件中,根据绑定的值进行判断
yoskool 2007-05-18
  • 打赏
  • 举报
回复
对我不会的人来说很难
guohua2208 2007-05-18
  • 打赏
  • 举报
回复
模板绑定,在绑定事件里据条件来判断可以使用或不能使用

这个很简单的!
yoskool 2007-05-18
  • 打赏
  • 举报
回复
孟大哥 怎讲 举个例子
孟子E章 2007-05-18
  • 打赏
  • 举报
回复
方法很多,可以在绑定事件里判断。
绝代坏坏 2007-05-18
  • 打赏
  • 举报
回复
用模板呀。

62,046

社区成员

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

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

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

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