У меня очень простая операция, в которой я пытаюсь добавить HtmlGenericControl к другому HtmlGenericControl:
protected void Page_Load(object sender, EventArgs e)
{
HtmlGenericControl div = new HtmlGenericControl("div");
HtmlGenericControl p = new HtmlGenericControl("p");
div.Controls.Add(p);//exception occurs
}
Исключение выдается только в отладчике - сама страница отображается так, как будто ничего не произошло. Однако что-то определенно происходит, так как в большей части кода элементы управления отображаются не так, как должны.
Фактическое исключение:
{InnerText = '((System.Web.UI.HtmlControls.HtmlContainerControl)(div)).InnerText' threw an exception of type 'System.Web.HttpException'}
Я не могу понять, почему это происходит, поскольку вы должны иметь возможность добавлять элементы управления друг к другу таким образом.
Обратите внимание, что из первого ответа я попытался снова с идентификаторами, но он все еще не работает:
У меня есть еще информация.
При использовании элемента управления Placeholder в качестве родительского, нет исключения:
protected void Page_Init()
{
PlaceHolder ph = new PlaceHolder();
HtmlGenericControl p = new HtmlGenericControl("p");
ph.Controls.Add(p);//no problem
}