protected override void RenderContents(HtmlTextWriter writer) { System.IO.StringWriter content = new System.IO.StringWriter(); HtmlTextWriter customWriter = new HtmlTextWriter(content); if (powerControl != null) { try { foreach (Control ctrl in this.Controls) { ctrl.RenderControl(customWriter); } writer.Write(content.ToString()); } catch (PowerControlException pex) { writer.Write(pex.ToHtmlString()); } catch (Exception ex) { PowerControlException pex = new PowerControlException("Render", ex); writer.Write(pex.ToHtmlString()); } } }
protected override void Render(System.Web.UI.HtmlTextWriter writer) { needsRefresh.RenderControl(writer); writer.Write("<table border=\"0\">"); SPUser currentUser = SPContext.Current.Web.CurrentUser; if (PowerWebPartHelper.IsPowerUser) { writer.Write("<tr><td><div class=\"UserSectionTitle\">PowerShell Scripts</div></td></tr>"); writer.Write("<tr>"); writer.Write(@"<td style=""vertical-align:middle"">"); writer.Write(string.Format(@"<table border=""0""><tr><td><a id=""btnPopupScript"" href=""javascript:powerWebPartEditorShowPopup('{0}')"" >Script ({1} lines)</a></td> <td><span style=""display:none"" id=""btnPowerGuiLauncher""><a href=""javascript:startPowerGuiLaucher('{0}', '{1}')""><img src=""/_layouts/images/iLoveSharePoint/PowerWebPartPowerGuiIcon3.gif"" alt=""Edit in PowerGUI"" border=""0""/></a></span></td></tr></table>", script.ClientID, String.IsNullOrEmpty(script.Value) ? "0" : (System.Text.RegularExpressions.Regex.Matches(script.Value, "\n").Count + 1).ToString()) , this.Zone.FindControl("MSOTlPn_AppBtn").ClientID); script.RenderControl(writer); writer.Write("</td>"); writer.Write("</tr>"); writer.Write("<tr>"); writer.Write(@"<td style=""vertical-align:middle"">"); writer.Write(string.Format(@"<table border=""0""><tr><td><a id=""btnPopupEditorScript"" href=""javascript:powerWebPartEditorShowPopup('{0}')"" >Editor Script ({1} lines)</a></td> <td><span style=""display:none"" id=""btnPowerGuiLauncher4Editor""><a href=""javascript:startPowerGuiLaucherEditor('{0}', '{1}')""><img src=""/_layouts/images/iLoveSharePoint/PowerWebPartPowerGuiIcon3.gif"" alt=""Edit in PowerGUI"" border=""0""/></a></span></td></tr></table>", editorScript.ClientID, String.IsNullOrEmpty(editorScript.Value) ? "0" : (System.Text.RegularExpressions.Regex.Matches(editorScript.Value, "\n").Count + 1).ToString()) , this.Zone.FindControl("MSOTlPn_AppBtn").ClientID); editorScript.RenderControl(writer); writer.Write("</td>"); writer.Write("</tr>"); //debug writer.Write("<tr><td><div class=\"UserSectionTitle\">Debug</div></td></tr>"); writer.Write("<tr><td><div>Enabled</div></td></tr>"); writer.Write("<tr><td>"); chkDebug.RenderControl(writer); writer.Write("</tr></td>"); writer.Write("<tr><td><div>Options</div></td></tr>"); writer.Write("<tr><td>"); txtDebugOptions.RenderControl(writer); writer.Write("</tr></td>"); writer.Write("<tr><td><div>Console Url</div></td></tr>"); writer.Write("<tr><td>"); txtDebugUrl.RenderControl(writer); writer.Write("</tr></td>"); writer.Write(String.Format("<tr><td><a href=\"javascript:setToClientIP('{0}','{1}');\"/>Set to my IP</a></td></tr>" , txtDebugUrl.ClientID, this.Page.Request.UserHostAddress)); writer.Write(String.Format("<tr><td><a href=\"javascript:pingDebugConsole('{0}');\"/>Ping Debug Console</a></td></tr>" , txtDebugUrl.ClientID)); writer.Write("<tr><td> </td></tr>"); } //config writer.Write("<tr><td><div class=\"UserSectionTitle\">Configuration</div></td></tr>"); if (powerControl == null) { if (_signingException != null) { writer.Write("<tr><td>Invalid Script Signing!</td></tr>"); } RenderParameter("Parameter1", parameter1, parameterDescription1, currentUser, writer); RenderParameter("Parameter2", parameter2, parameterDescription2, currentUser, writer); RenderParameter("Parameter3", parameter3, parameterDescription3, currentUser, writer); RenderParameter("Parameter4", parameter4, parameterDescription4, currentUser, writer); RenderParameter("Parameter5", parameter5, parameterDescription5, currentUser, writer); RenderParameter("Parameter6", parameter6, parameterDescription6, currentUser, writer); RenderParameter("Parameter7", parameter7, parameterDescription7, currentUser, writer); RenderParameter("Parameter8", parameter8, parameterDescription8, currentUser, writer); } else { try { writer.Write("<tr>"); writer.Write("<td>"); powerControl.RenderControl(writer); writer.Write("</td>"); writer.Write("</tr>"); } catch (PowerControlException pex) { writer.Write(pex.ToHtmlString()); } catch (Exception ex) { PowerControlException pex = new PowerControlException("Render", ex); writer.Write(pex.ToHtmlString()); } } writer.Write("</table>"); }