我填充了許多用戶控件一個div,現在他們正在順序,他們正在從數據庫中讀取添加的排序與asp.net用戶控件列表。該用戶控件的標記看起來是這樣的:的屬性值
<div class="Content_Thumb">
<div class="Video_pic">
<a href="tutorialname.aspx">
<asp:Label ID="TutInfo" CssClass="CoverLbl_top" runat="server" Text="Label"></asp:Label>
<asp:Label ID="TutInfo2" CssClass="CoverLbl_bottom" runat="server" Text="Description..."></asp:Label>
<asp:Image ID="ThumbPic" CssClass="Thumb_Pic" runat="server" ImageUrl="/Images/Video_Thumb.png" />
</a>
</div>
<div class="Thumb_Info">
<asp:Label ID="Views" CssClass="ViewsLbl" runat="server" Text="680"></asp:Label>
<asp:Label ID="Comments" CssClass="CommentsLbl" runat="server" Text="11"></asp:Label>
<asp:Label ID="Likes" CssClass="LikesLbl" Style="TEXT-ALIGN: right" runat="server" Text="133"></asp:Label>
</div>
<div class="Thumb_Border">
<asp:Image ID="UserPic" CssClass="Thumb_UploaderPic" runat="server" ImageUrl="/Images/Profile_Placeholder.png" />
<a href="google.com">
<asp:Label ID="UserLbl" CssClass="Thumb_UploaderInfo" runat="server" Text="Label"></asp:Label>
</a>
</div>
那麼我就被綁定到標籤(一些刪除,因爲我不想弄亂後)這些屬性。
public string TutorialInfo
{
get;
set;
}
public int TutorialViews
{
get;
set;
}
public override void DataBind()
{
TutInfo.Text = TutorialInfo;
Views.Text = TutorialViews.ToString();
Comments.Text = TutorialComments.ToString();
Likes.Text = TutorialLikes.ToString();
UserLbl.Text = TutorialUploader;
base.DataBind();
}
現在,我想對這些控件做的事情是按屬性值對它們進行排序。 (最高數量的視圖首先加載等)。我目前正處於將它們添加到列表中的階段,現在我正在嘗試使用LINQ的OrderBy對列表進行排序,就像我在這裏的帖子中看到的一樣。
List<UserControl> controls = new List<UserControl>();
foreach (var Tutorial in dataconnection.Tutorial)
{
var control = LoadControl("~/WebUserControl1.ascx") as WebUserControl1;
control.TutorialInfo = Tutorial.Title;
control.TutorialComments = (int)Tutorial.Comments;
control.TutorialViews = (int)Tutorial.Views;
control.TutorialLikes = (int)Tutorial.Likes;
control.TutorialUploader = Tutorial.Uploader;
control.DataBind();
//base.OnPreRender(e);
ThumbTest.Controls.Add(control);
controls.Add(control);
var testcount = controls.Count();
control.Visible = false;
}
var SortedList = controls.OrderBy(o => o.TutorialViews).ToList();
但是即使它們是公共的,我仍然無法訪問屬性? 「o.TutorialViews」正在拋出一個錯誤。那麼我如何分類這些控制?
我是相當新的總體規劃,所以我道歉,如果這原來是一個愚蠢的錯誤。
TLDR:如何按屬性值排序Usercontrols。
這工作神奇!大衛,你確實是人間的神。 :) 非常感謝! –