Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HtmlTextWriter中的RenderControl-InvalidOperationException_C#_Asp.net - Fatal编程技术网

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的方法,方法是创建一个自定义页面类,并在代码中创建该类的实例以包含自定义控件。