Добро пожаловать в Записки дилетанта Войти|Регистрация | Помощь
Отрендерить контрол в строку в ASP.NET 2.0

Понадобилось мне отредерить GridView в строку, такой вот код

 

public static string RenderControl(Control ctrl)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            System.IO.StringWriter tw = new System.IO.StringWriter(sb);
            System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
            ctrl.RenderControl(hw);
            return sb.ToString();
        }
взято отсюда, прекрасно работал в FW 1.1. В FW 2.0 падаем со словами: Exception Details: System.Web.HttpException: Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server. Описание проблемы на фидбек сайте Microsoft http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=118285 Вобщем на странице нужно заоверрайдить метод VerifyRenderingInServerForm, вот так например:
public override void VerifyRenderingInServerForm(Control control)
{
            
}
Вот и все.
Posted: Monday, December 25, 2006 1:41 PM от Jcomp
Метки (ключевые слова): ,

Комментарии:

Max951 сказал:

В 1.1. он также падал и мне когда - то также приходилось перегружать этот метод ASP.NET 2.0 тут не при чём :)

# February 5, 2007 3:35 PM

Luch сказал:

А как же быть тогда c user control? В ascx страницах нельзя применить метод VerifyRenderingInServerForm(Control сontrol)

Как в таком случае избежать ошибки:

Exception Details: System.Web.HttpException: Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

# February 14, 2007 4:51 PM

Max951 сказал:

А что разве имеет смысл UC помещать вне пределов тэга Form? Конечно же нет поэтому этот метод в контроле не нужен.

# February 26, 2007 2:48 PM

Дмитрий Руденко сказал:

Ну эт ты, Макс, загнул ;)

2 Luch

Контрол предварительно нужно положить на форму, а потом уже рендерить. Должно получиться.

# March 2, 2007 2:55 PM
Ваш комментарий, мнение по поводу статьи

(обязательно) 

(обязательно) 

(необязательно)

(обязательно) 

Извещение о комментариях

Если вы хотите получать уведомление по e-mail когда эта тема обновляется, пожалуйста, зарегестрируйтесь.тут

Получать уведомление при обновлениях комментариев используя RSS