אז שוב..
לא ברור כל מיני דברים, כי לי בעצמי זה לא כ"כ ברור..
הבנתי איך עושים טבלה של פורום, וגם בניתי מחלקה (#C) שתייצג את הפורום, אבל אני לא יודע איך להביא את זה מהמחלקה לדף.
זה הקוד ASP שכל $$----$$ מוחלף בטקסט המתאים לאותה הודעת פורום.
<div class="padding" runat="server">
<div class="messageRow" id="$id$" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="titleLbl">$title$</asp:Label><label id="Label2" runat="server" class="titleLbl">$title$</label>
<asp:Label ID="Label3" runat="server" CssClass="timeLbl">$time$</asp:Label><label id="Label4" runat="server" class="timeLbl">$time$</label>
<a class="UserNameLbl" href="/Account/User.aspx?name=$UserName$">$UserName$</a>
<p id="xxidxx">$text$</p>
<asp:LinkButton ID="hhh" CommandArgument="$id$" runat="server"
onclick="hhh_Click">הודעה חדשה</asp:LinkButton>
</div>
<div>$child$</div>
</div>
וזה הקוד ברקע.
string itemHTML = כאן מגיע הטקסט בקטע קוד הקודם;
List<ForumMessage> allMyForums = new List<ForumMessage>();
using (LinqDatabaseDataContext myDC = new LinqDatabaseDataContext())
{
var Fforums = from f in myDC.Forums
where f.idParent == 0
select f;
foreach (Forum fo in Fforums)
allMyForums.Add(new ForumMessage(fo.id, itemHTML/* ForumDiv.InnerHtml*/));
}
ForumDiv.InnerHtml = "";
foreach (ForumMessage fm in allMyForums)
ForumDiv.InnerHtml += fm.BuildForum();
וזאת המחלקה שמייצגת את הפורום-
public class ForumMessage
{
private string title;
private string time;
private string text;
private string userNameWriter;
private int parentID;
private int id;
private int level;
private List<ForumMessage> childMessages;
private string itemHTML;// יש אפשרות לקבל קטע קוד כלשהו שיהווה בסיס להודעה, עם שומרי מקום, והיא לבד תחליף אותם בנתונים ובהודעות הבאות.
public ForumMessage(int id, string itemHTML)
{
Forum myForumMessage;
childMessages = new List<ForumMessage>();
using (LinqDatabaseDataContext myDC = new LinqDatabaseDataContext())
{
myForumMessage = (from f in myDC.Forums
where f.id == id
select f).SingleOrDefault();
title = myForumMessage.Title;
time = myForumMessage.Time.ToString("%d/%M/yy hh:mm");
userNameWriter = myForumMessage.UserName;
parentID = myForumMessage.idParent;
text = myForumMessage.Text;
this.id = id;
level = myForumMessage.Level;
var allChildForums = (from f in myDC.Forums
where f.idParent == id
select f);
foreach (Forum fo in allChildForums)
this.childMessages.Add(new ForumMessage(fo.id, itemHTML));
this.itemHTML = itemHTML;
}
}
public string BuildForum()
{
string itemChild = "";
foreach(ForumMessage f in childMessages)
itemChild+=f.BuildForum();
string result = itemHTML;
result = result.Replace("$title$", title);
result = result.Replace("$time$", time);
result = result.Replace("$UserName$", userNameWriter);
result = result.Replace("$text$", text);
result = result.Replace("$child$", itemChild);
result = result.Replace("$id$", id.ToString());
return result;
}
}
בטח לא הכל מובן, אז תשאלו....
תודה!!