Tôi có một vài điều khiển được xác định bên trong bảng điều khiển cập nhật được ràng buộc để kiểm soát lặp lại. Tôi cần phải ẩn và hiển thị tên người dùng và quốc gia dựa trên các trường ẩn danh, nhưng vấn đề là tôi không thể truy cập các điều khiển được xác định bên trong bảng cập nhật theo chương trình.Làm thế nào để truy cập vào hộp văn bản, nhãn bên trong bảng cập nhật từ mã sau bằng cách sử dụng các mẫu web asp.net
Làm thế nào tôi có thể truy cập các điều khiển, tôi nhìn trên mạng cũng nhưng không thể tìm thấy nhiều tài liệu tham khảo
Dưới đây là đoạn code từ trang aspx và trang .cs
<asp:UpdatePanel ID="updPnlComments" runat="server">
<ContentTemplate>
<table border="0" width="100%" ><tr><td valign="top">
<asp:Repeater ID="rptCommentList" runat="server" EnableViewState="false">
<ItemTemplate>
<div id="divComPostDate" class="ArticlePubDate">
<asp:Label ID="lblComDateAdded" runat="server" Text="Added"></asp:Label>
<asp:Label ID="lblComPostDate" runat="server" Text='<%# FormatCommentDate(Eval("comPostDate")) %>'></asp:Label>
</div>
<div id="divComMSGDetail" class="PostCommentMSG">
<asp:Label ID="lblComMSGDetails" runat="server" Text='<%# Eval("comMessage") %>'></asp:Label>
</div>
<div id="divComUserName" class="ComUserName">
<asp:Label ID="lblComUserName" runat="server" Text='<%# Eval("comFullName") %>'></asp:Label>,
<asp:Label ID="lblComCountry" runat="server" Text='<%# Eval("comCountry") %>'></asp:Label>
<asp:Label ID="lblUserAnonymous" runat="server" Text='<%# showUserName(Eval("comAnonymous")) %>' Visible=false></asp:Label>
</div>
<div id="divThinlLine" class="ThinLine" ></div>
</ItemTemplate>
</asp:Repeater>
</td></tr><tr><td>
<table border="0" width="90%" ><tr><td align="center" valign="bottom" height="50px">
<table border="0"><tr><td align="center" >
<uc1:PagerControl ID="PagerControl1" runat="server" CssClass="gold-pager" PageMode="LinkButton" />
</td></tr></table>
</td></tr></table>
</td></tr></table>
</ContentTemplate>
</asp:UpdatePanel>
Mã Đằng sau
protected string FormatCommentDate(object dt)
{
string date;
date = String.Format("{0:hh:mm, MMMM dd, yyyy}", dt);
return date;
}
protected string showUserName(object userName)
{
String str=null;
try
{
Boolean isUserAnonymous = Convert.ToBoolean(userName);
if (isUserAnonymous == true)
{
// Not able to access lblComUserName CONTROL here
}
}
catch (Exception ex)
{
}
return str;
}
Function Để ràng buộc điều khiển lặp với Pager và Repeater kiểm soát
protected void getCommentsList(int iArticleID)
{
try
{
PagerControl1.PageSize = 4;
//PagerControl1.TotalItems = 1;
//PagerControl1.PageMode = 4;
PagerControl1.DisplayEntriesCount = 5;
//Will show 2 links after ...
PagerControl1.EdgeEntriesCount = 0;
DataSet ds = DataProvider.GetCommentList(iArticleID);
DataView dv = ds.Tables[0].DefaultView;
//pass the datatable and control to bind
PagerControl1.BindDataWithPaging(rptCommentList, dv.Table);
}
catch (Exception ex)
{
HttpContext.Current.Response.Redirect("Message.aspx?msg=Invalid Request");
}
Tôi rất gần, nếu tôi nhận được MyObject myObject = (MyObject) e.Item.DataItem; dòng bên phải. làm thế nào tôi có thể ràng buộc nó với lĩnh vực dữ liệu .. "comAnonymous" – Learning
Thay đổi MyObject để bất cứ điều gì bạn đang ràng buộc để lặp lại. Ví dụ, nếu bạn đang ràng buộc một tập hợp các DataRows, bạn sẽ sử dụng 'DataRow myDataRow = (DataRow) e.Item.DataItem;' và tham khảo nó thông qua 'myDataRow [" comAnonymous "]. ToString()'. –
Nó đã cho tôi lỗi với DataRow vì vậy tôi đã sử dụng DataRowView và bây giờ nó hoạt động tốt. Cảm ơn bạn rất nhiều ... Đây là lý do tại sao tôi yêu chồng trên dòng chảy. Tôi làm việc như một cá nhân vì vậy tôi không có ai để giúp tôi xung quanh khi tôi gặp khó khăn. SO giống như một hướng dẫn và giúp đỡ kịp thời là một vị cứu tinh. Cảm ơn một lần nữa – Learning