使用以下Repeater
时:
<asp:Repeater ID="rptFee" runat="server" Visible="false">
<HeaderTemplate>
<div class="CSSTableGenerator">
<table border="1">
<thead>
<th>Name</th>
<th>Course</th>
<th>Contact_No</th>
<th>Total_Fee</th>
<th>Paid_Amount</th>
<th>Due_Amount</th>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tbody>
<tr>
<td><asp:Label id="lblname" runat="server" Text='<%# Eval("Name") %>'></asp:Label></td>
<td><asp:Label id="lblcourse" runat="server" Text='<%# Eval("Course") %>'></asp:Label></td>
<td><asp:Label id="lblcontact" runat="server" Text='<%# Eval("Contact_No") %>'></asp:Label></td>
<td><asp:Label id="lbltotalfee" runat="server" Text='<%# Eval("Total_Fee") %>'></asp:Label></td>
<td><asp:Label id="lblpaid" runat="server" Text='<%# Eval("Paid_Fee") %>'></asp:Label></td>
<td><asp:Label id="lbldue" runat="server" Text='<%# Eval("Due_Amount") %>'></asp:Label></td>
</tr>
</tbody>
</ItemTemplate>
<FooterTemplate>
</table>
</div>
</FooterTemplate>
</asp:Repeater>
我得到的结果是:
现在我想从转发器中取出Abhishek Mishra。在gridView
我能够使用gdFee.Rows[0].Cells[0]
执行此操作,我无法在转发器的情况下执行此操作。
如何在Repeater
的索引0处检索该元素的名称?
答案 0 :(得分:1)
使用转发器的属性OnItemDataBound。
在您的信息页中:
<asp:Repeater ID="rptFee" runat="server" Visible="false" OnItemDataBound="rptFee_ItemDataBound">
在你的代码背后:
protected void rptFee_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label label = (Label)e.Item.FindControl("lblname");
//You have now access to each lblname in your repeater...
string temp = label.Text;
}
}
答案 1 :(得分:1)
Andy的回答对于在Repeater绑定每个RepeaterItem时找到控件是正确的。如果要在任何数据绑定事件之外获取RepeaterItems,则转发器具有一个简称为Items
的RepeaterItem集合。
使用它类似于GridView,但你仍然需要像Andy的例子那样找到控件。
RepeaterItem item = rptFee.Items[0];
Label lblname = (Label)item.FindControl("lblname");
string name = lblname.text;
答案 2 :(得分:0)
您可以尝试下面的内容,
void SortLinkedList()
{
struct LinkedNode *node=NULL, *temp = NULL;
int tempvar;//temp variable to store node data
node = start;
temp = node->next;//temp node to hold node data and next link
while(node != NULL && node->next != NULL)
{
for(int j=0; j<5; j++)//value 5 because I am taking only 5 nodes
{
if(node->data > temp->data)//swap node data
{
tempvar = node->data;
node->data = temp->data;
temp->data = tempvar;
}
temp = temp->next;
}
node = node->next;
}
}