Advertisement
Advertisement
| 08.16.2008 at 02:49PM PDT, ID: 23653988 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: |
//
// The comments are retrieved and displayed in the page load function.
//
if (!Page.IsPostBack)
{
int articleId = 0;
try
{
if (Request.QueryString["data"] != null)
{
string data = Server.HtmlDecode(Request.QueryString["data"]);
if (Regex.IsMatch(data, global::Resources.Constants.REGEX_VALID_INTEGER))
{
int.TryParse(data, out articleId);
}
}
}
catch (Exception ex)
{
string error = ex.ToString();
Console.WriteLine(error);
}
finally
{
this.ArticleId = articleId;
PanelNewComment.Visible = Master.ProfileId > 0;
this.LoadArticle();
this.LoadComments(0, null);
}
}
//
// Comments are displayed here (extraneous code removed for clarity)
//
private void LoadComments(int parentId, Panel parentPanel)
{
// Query database for all comments that are children to the provided parentId
foreach (CommentArticle comment in comments)
{
LinkButton buttonReply = new LinkButton();
buttonReply.ID = string.Format("buttonReply.{0}", comment.CommentArticleId.ToString());
buttonReply.Text = "Reply";
buttonReply.Attributes.Add("onclick", "return false;");
buttonReply.CausesValidation = false;
Panel panelReplyButton = new Panel();
panelReplyButton.ID = string.Format("panelReplyButton.{0}", comment.CommentArticleId.ToString());
panelReplyButton.CssClass = "commentReply";
panelReplyButton.Controls.Add(buttonReply);
Literal literalComment = new Literal();
literalComment.Text = comment.CommentBody;
Panel panelReply = new Panel();
panelReply.ID = string.Format("panelReply.{0}", comment.CommentArticleId.ToString());
panelReply.CssClass = "commentReplyButton";
TextBox textReply = new TextBox();
textReply.ID = string.Format("textReply.{0}", comment.CommentArticleId.ToString());
textReply.TextMode = TextBoxMode.MultiLine;
textReply.Columns = 40;
textReply.Rows = 5;
panelReply.Controls.Add(textReply);
Button buttonSaveReply = new Button();
buttonSaveReply.ID = string.Format("buttonSaveReply.{0}", comment.CommentArticleId.ToString());
buttonSaveReply.Attributes.Add("data", encryptedCommentId);
buttonSaveReply.Text = "Save Reply";
buttonSaveReply.Click += new EventHandler(buttonSaveReply_Click);
buttonSaveReply.CausesValidation = false;
Panel panelButtonContainer = new Panel();
panelButtonContainer.ID = string.Format("panelButtonContainer.{0}", comment.CommentArticleId.ToString());
panelButtonContainer.Controls.Add(buttonSaveReply);
panelReply.Controls.Add(panelButtonContainer);
AjaxControlToolkit.CollapsiblePanelExtender panelCollapsableReply = new AjaxControlToolkit.CollapsiblePanelExtender();
panelCollapsableReply.ID = string.Format("panelCollapsableReply.{0}", comment.CommentArticleId.ToString());
panelCollapsableReply.TargetControlID = panelReply.ID;
panelCollapsableReply.CollapsedSize = 0;
panelCollapsableReply.ExpandedSize = 200;
panelCollapsableReply.Collapsed = true;
panelCollapsableReply.ExpandControlID = buttonReply.ID;
panelCollapsableReply.CollapseControlID = buttonReply.ID;
panelCollapsableReply.ExpandDirection = AjaxControlToolkit.CollapsiblePanelExpandDirection.Vertical;
UpdatePanel updatePanel = new UpdatePanel();
updatePanel.ID = string.Format("updatePanel.{0}", comment.CommentArticleId.ToString());
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = buttonReply.ID;
trigger.EventName = "click";
updatePanel.Triggers.Add(trigger);
updatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
updatePanel.ContentTemplateContainer.Controls.Add(panelReply);
updatePanel.ContentTemplateContainer.Controls.Add(panelCollapsableReply);
{
// Add to provided parent panel (div).
}
protected void buttonSaveReply_Click(object sender, EventArgs e)
{
// Do something here ...
}
|