如何解决必须将GridView添加到用于渲染的表单标签中
|TextWriter tr = new StringWriter();
HtmlTextWriter writer = new HtmlTextWriter(tr);
HtmlForm form = new HtmlForm();
form.Controls.Add(divQueryDescription);
divQueryDescription.RenderControl(writer);
<div runat=\"server\" id=\"divQueryDescription\">
<asp:GridView runat=\"server\" id=\"grv\"></asp:GridView>
</div>
我的GridView位于DIV中,然后将该DIV添加到HtmlForm中,以便可以将其呈现为字符串。但我收到以下错误:
Gridview \ grv必须放置在带有runat = server的表单标签中,尽管我的Gridview已经在表单中,因为我将DIV添加到了表单中。
如何将此DIV渲染为字符串?
解决方法
只需在页面中添加以下代码
public override void VerifyRenderingInServerForm(Control control)
{
return;
}
要了解更多信息,请阅读MSDN文档。
, 确保表单元素/控件中有runat = \“ server \”
, 根据您在此处显示的内容,the2ѭ尚未与runat=\"server\"
一起位于form
元素中,您需要执行以下操作:
<form runat=\"server\">
<div runat=\"server\" id=\"divQueryDescription\">
<asp:GridView runat=\"server\" id=\"grv\"></asp:GridView>
</div>
</form>
特别值得注意的是“ 6”部分及其结尾标记。
更新:
似乎form
引起了问题,因为它尚未被写出,您是直接从div
中写出:尝试使用form.RenderControl(writer);
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。