不管怎样,我在中继器数据行内设置了类,当进行回发时,通过数据ID查找
本文关键字:数据 查找 ID 中继器 设置 不管怎样 | 更新日期: 2023-09-27 18:28:33
我想在为那些数据ID做PostBack时为中继器设置类,但不可以/不能?下面的代码只是示例显示:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server" EnablePageMethods="true" />
<asp:UpdatePanel ID="UpdatePanel2" runat="server" >
<ContentTemplate>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="dsInbox">
<ItemTemplate>
<tr id="trInbox">
<td width="370px" height="25px"><div align="left" class="style95"> <%# DisplaySubject(Eval("inbSubject").ToString(), Eval("inbMsg").ToString())%></div></td>
<td width="80px" height="25px"><div align="left" class="style95"> <%# Eval("inbCreatedAt","{0:MM-dd-yyyy}") %></div></td>
<td width="94px" height="25px"><div align="left" class="style95"> <%# Eval("DataId") %></div></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
在代码C#后面,我可以创建类/样式i wan
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
Repeater1.DataBind();
//find the data row ID and set class/style when loaded
}
}
如果您想为每行绑定设置一个类,并且需要数据ID,那么您最好的方法是在每行绑定时进行处理:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="dsInbox"
OnItemDataBound="Repeater1_ItemDataBound">
在代码背后:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
MyType myItem = (MyType)e.Item.DataItem;
var dataId = myItem.DataId;
// Do whatever you need here.
}
}