0

我想呈现一个 Control 对象,该对象是在用户发送回发请求时动态创建的。为此,我使用以下代码:

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方法的方式,希望你能帮助我解决我的问题。

谢谢你,大卫

4

1 回答 1

0

在尝试呈现之前,您似乎没有将新的 Rating 控件附加到 Page 控件。

从RenderControl的 MSDN文档中,调用的内部将寻找封闭的 Page,并根据 Page 对象的设置执行一些活动。

您可以在页面中添加一个占位符并在尝试呈现之前将 Rating 控件插入其中。

于 2013-03-18T16:08:58.420 回答