Ошибка создания HiddenField на HttpContext.Current.Server.Execute
Когда я добавляю HiddenField
контролировать в Page
объект на стороне сервера и вызов HttpContext.Current.Server.Execute
, код выдает ошибку, однако тот же код работает нормально при использовании Panel
объект вместо HiddenField
Ниже приведен пример кода для справки
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Page pageHolder;
pageHolder = new Page();
Panel p = new Panel();
HiddenField h = new HiddenField();
pageHolder.Controls.Add(h);
using (StringWriter l_SW = new StringWriter())
{
HttpContext.Current.Server.Execute(pageHolder, l_SW, true);
}
}
}
}
Исключение это бросает
Элемент управления 'ctl00' типа 'HiddenField' должен быть помещен в тег формы с помощью runat=server.
Не знаю, почему это происходит только с HiddenField.
Нужна помощь как можно скорее