ошибка при создании HtmlHead
От: TheAteist  
Дата: 07.11.10 12:30
Оценка:
Перед выполнением "head.Controls.Add(title)":
1 — когда я проверяю значение "head", то оно "{InnerText = ""}"
2 — когда я проверяю значение "title", то оно "{System.Web.UI.HtmlControls.HtmlTitle}"
После выполнения "head.Controls.Add(title)":
1 — когда я проверяю значение "head", то оно "{InnerText = (InnerText) threw an exception of type System.Web.HttpException.}"
2 — когда я проверяю значение "title", то оно "{System.Web.UI.HtmlControls.HtmlTitle}"

вод код:
1. Dim head As HtmlHead = New HtmlHead()
2. Dim title As HtmlTitle = New HtmlTitle()
3. head.Controls.Add(title)


Почему я полячаю ошибку при создании HtmlHead?

Спасибо
Re: ошибка при создании HtmlHead
От: llirik  
Дата: 10.11.10 11:20
Оценка:
Здравствуйте, TheAteist, Вы писали:

TA>Перед выполнением "head.Controls.Add(title)":

TA>1 — когда я проверяю значение "head", то оно "{InnerText = ""}"
TA>2 — когда я проверяю значение "title", то оно "{System.Web.UI.HtmlControls.HtmlTitle}"
TA>После выполнения "head.Controls.Add(title)":
TA>1 — когда я проверяю значение "head", то оно "{InnerText = (InnerText) threw an exception of type System.Web.HttpException.}"
TA>2 — когда я проверяю значение "title", то оно "{System.Web.UI.HtmlControls.HtmlTitle}"

TA>вод код:

TA>
TA>1. Dim head As HtmlHead = New HtmlHead()
TA>2. Dim title As HtmlTitle = New HtmlTitle()
TA>3. head.Controls.Add(title)
TA>


TA>Почему я полячаю ошибку при создании HtmlHead?


TA>Спасибо


добавляете второй титл?
Мне твоя Москва нравится, и обратно в Россию я не вернусь! (с) мыльная о.
Re[2]: ошибка при создании HtmlHead
От: TheAteist  
Дата: 14.11.10 10:45
Оценка:
Здравствуйте, llirik, Вы писали:

L>Здравствуйте, TheAteist, Вы писали:


TA>>Перед выполнением "head.Controls.Add(title)":

TA>>1 — когда я проверяю значение "head", то оно "{InnerText = ""}"
TA>>2 — когда я проверяю значение "title", то оно "{System.Web.UI.HtmlControls.HtmlTitle}"
TA>>После выполнения "head.Controls.Add(title)":
TA>>1 — когда я проверяю значение "head", то оно "{InnerText = (InnerText) threw an exception of type System.Web.HttpException.}"
TA>>2 — когда я проверяю значение "title", то оно "{System.Web.UI.HtmlControls.HtmlTitle}"

TA>>вод код:

TA>>
TA>>1. Dim head As HtmlHead = New HtmlHead()
TA>>2. Dim title As HtmlTitle = New HtmlTitle()
TA>>3. head.Controls.Add(title)
TA>>


TA>>Почему я полячаю ошибку при создании HtmlHead?


TA>>Спасибо


L>добавляете второй титл?

да нет, вот полный код.
начинается с buildHtml(). Я создаю Page и запихиваю туда Head.
Буду рад решению

 Private Function buildHtml() As String
        Dim page As Page = New Page

        page.Controls.Add(New LiteralControl("\r\n<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">\r\n\r\n<html xmlns=""http://www.w3.org/1999/xhtml"">\r\n"))
        Dim head As HtmlHead = buildHeadControl()
        page.Controls.Add(head)
        page.Controls.Add(New LiteralControl("\r\n<body>\r\n<div>\r\n"))
        Dim form As Control = buildFormControl(page)        
        page.Controls.Add(form)
        page.Controls.Add(New LiteralControl("\r\n</div>\r\n</body>\r\n</html>\r\n"))

        page.ProcessRequest(HttpContext.Current)

        Dim sb As StringBuilder = New StringBuilder()
        Dim sw As StringWriter = New StringWriter(sb)
        Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
        page.RenderControl(htw)

        Return sb.ToString()
 End Function
 Private Function buildTitleControl() As HtmlTitle
        Return New HtmlTitle()
    End Function
    Private Function buildLinkControl() As HtmlLink
        Dim link As HtmlLink = New HtmlLink()
        link.Href = "inc/newsletter.css"
        link.Attributes.Add("rel", "stylesheet")
        link.Attributes.Add("type", "text/css")

        Return link
    End Function
    Private Function buildHeadControl() As HtmlHead
        Dim head As HtmlHead = New HtmlHead("head")
        Dim title As HtmlTitle = buildTitleControl()

        head.Controls.Add(title)
        Dim link As HtmlLink = buildLinkControl()
        head.Controls.Add(link)

        Return head
    End Function
    Private Function buildFormControl(ByVal page As Page) As Control
        Dim ascx As Control = page.LoadControl("NewsLetter.ascx")
        
        Return ascx
    End Function
Re[3]: ошибка при создании HtmlHead
От: llirik  
Дата: 14.11.10 17:58
Оценка:
Посмотрел мсдн, в HtmlHead есть свойство Title, может вы все же добавляете второй титл? попробуйте использовать это свойство, а не добавлять новый контрол в Controls
Мне твоя Москва нравится, и обратно в Россию я не вернусь! (с) мыльная о.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.