public void Render(Common.PageMode pageMode, string message)
        {
            // render common controls
            lblMsg.Text = message;
            list.DataBind();

            // configure complex controls
            switch (pageMode)
            {
            case Common.PageMode.List:
                // configure page mode
                lblMode.Text = "List";

                // disable controls
                edit.Visible      = false;
                view.Visible      = false;
                urlCancel.Visible = false;
                cmdCreate.Visible = false;
                cmdUpdate.Visible = false;
                cmdDelete.Visible = false;
                cmdAccept.Visible = false;
                cmdEdit.Visible   = false;
                break;

            case Common.PageMode.New:
                // configure page mode
                lblMode.Text = "New";
                edit.New();

                urlCancel.NavigateUrl = "ManageComment.aspx";
                urlCancel.Visible     = true;

                cmdCreate.Visible = true;

                // disable controls
                edit.Visible      = true;
                view.Visible      = false;
                cmdUpdate.Visible = false;
                cmdDelete.Visible = false;
                cmdAccept.Visible = false;
                cmdEdit.Visible   = false;
                break;

            case Common.PageMode.View:
                // configure page mode
                lblMode.Text = "View";

                view.DataBind();
                view.Visible = true;

                urlCancel.NavigateUrl = "ManageComment.aspx";
                urlCancel.Visible     = _canEdit;

                cmdEdit.Visible = _canEdit;

                // disable controls
                edit.Visible      = false;
                cmdCreate.Visible = false;
                cmdUpdate.Visible = false;
                cmdDelete.Visible = false;
                cmdAccept.Visible = false;
                break;

            case Common.PageMode.Edit:
                // configure page mode
                lblMode.Text = "Edit";

                edit.Edit();
                edit.DataBind();
                edit.Visible = true;

                urlCancel.NavigateUrl = "ManageComment.aspx?CommentID=" + _selectedCommentID.ToString();
                urlCancel.Visible     = true;

                cmdUpdate.Visible = true;
                cmdDelete.Visible = _canDelete;

                // disable controls
                view.Visible      = false;
                cmdCreate.Visible = false;
                cmdAccept.Visible = false;
                cmdEdit.Visible   = false;
                break;

            case Common.PageMode.Delete:
                // configure page mode
                lblMode.Text = "Delete";

                view.DataBind();
                view.Visible = true;
                view.Title   = "Delete Comment";

                urlCancel.NavigateUrl = "ManageComment.aspx?CommentID=" + _selectedCommentID.ToString();
                urlCancel.Visible     = _canDelete;
                cmdAccept.Visible     = _canDelete;

                // disable controls
                edit.Visible      = false;
                cmdCreate.Visible = false;
                cmdUpdate.Visible = false;
                cmdDelete.Visible = false;
                cmdEdit.Visible   = false;
                break;

            default:
            case Common.PageMode.Error:
                lblMode.Text      = pageMode.ToString();
                view.Visible      = false;
                edit.Visible      = false;
                urlCancel.Visible = false;

                cmdCreate.Visible = false;
                cmdUpdate.Visible = false;
                cmdDelete.Visible = false;
                cmdAccept.Visible = false;
                cmdEdit.Visible   = false;
                break;
            }
        }
 /// --------------------------------------------------------
 public void Render(Common.PageMode pageMode)
 {
     Render(pageMode, "");
 }