Asp.net
A.aspx
我正在使用JQuery访问加载包含GridView的控件(ascx)的ashx文件。控制内容正在注入页面......
当我这样做时:
StringWriter writer = new StringWriter();
HttpContext.Current.Server.Execute(page, writer, false);
string output = writer.ToString();
它告诉我GridView必须放在表单部分。
所以我创建了我的页面
public class MyPage: Page
{
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
}
并在其中我重写此方法。我正在使用我的页面,一切都很好。
问题是为什么?为什么它必须是一种形式?它没有任何输入!
另外,如果我的ascx仅包含<asp:Label ( runatServer)
,一切都很好,并且不需要将其放在表单中。
我错过了什么?
答案 0 :(得分:1)
一定不能在表格内,但唯一知道的就是你。此异常也是一种防止恶意错误并提供明确错误消息的方法。只有可以回发的控件才需要嵌套在HtmlForm
控件中。