Внедрение gridView требуется VerifyRenderingInServerForm . но почему?
Asp.net
A.aspx
Я использую JQuery для доступа к файлу ashx, который загружает элемент управления ( ascx), который содержит GridView. Контент управления вводится на страницу...
Когда я делаю это:
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)
все хорошо, и это не требует помещения его в форму.
Что мне не хватает?
1 ответ
Он не должен быть внутри формы, но единственный, кто знает, это вы. Это исключение также является способом предотвращения неприятных ошибок и предоставления четкого сообщения об ошибке. Только элементы управления, которые могут выполнять обратную передачу, должны быть вложены в HtmlForm
контроль.