C# HtmlTextWriter中的RenderControl-InvalidOperationException
我想呈现一个控件对象,它是在用户发送回发请求时动态创建的。为此,我使用以下代码:C# HtmlTextWriter中的RenderControl-InvalidOperationException,c#,asp.net,C#,Asp.net,我想呈现一个控件对象,它是在用户发送回发请求时动态创建的。为此,我使用以下代码: StringBuilder sb = new StringBuilder(); HtmlTextWriter ht = new HtmlTextWriter(new StringWriter(sb)); Rating r = new Rating("r", 5, 3, No, Big); r.RenderControl(ht); 不幸的是,在最后一行出现InvalidOperationException,并出现以
StringBuilder sb = new StringBuilder();
HtmlTextWriter ht = new HtmlTextWriter(new StringWriter(sb));
Rating r = new Rating("r", 5, 3, No, Big);
r.RenderControl(ht);
不幸的是,在最后一行出现InvalidOperationException
,并出现以下错误:
页面不能为空。确保此操作是在ASP.NET请求的上下文中执行的
我可能误解了使用此RenderControl
方法的方式,希望您能帮助我解决问题
谢谢,,
David在尝试呈现新的分级控件之前,看起来您并没有将其附加到页面控件 从MSDN中,调用的内部将查找封闭页面,并根据页面对象的设置执行一些活动
您可以在页面中添加一个占位符,并在那里插入评级控件,然后再尝试渲染它。Ok,因此,在没有http请求的情况下,无法从
System.Web.UI.Control
对象获取html代码?@Davd33-您可能会发现-OP找到了一种在类似场景中调用RenderControl的方法,方法是创建一个自定义页面类,并在代码中创建该类的实例以包含自定义控件。