2009-07-12 2 views
0

Я пытаюсь создать класс образовавшаяся из System.Web.UI.Page и переопределение Рендер я установить этот код:Неправильная страница Рендер

writer.WriteLine("<![CDATA["); 
base.Render(writer); 
writer.WriteLine("\r\n]]>"); 

Моя проблема когда я пытаюсь увидеть код, сгенерированный

<![CDATA[ 
><form name="form1" method="post" action="Default.aspx" id="form1"> 
... 
</form> 
]]> 

сначала> после того, как CDATA ошибочный, я не хочу, чтобы он сгенерирован. Какие-либо предложения?

+0

Глупый вопрос, но вы уверены, что «>» не находится перед

на вашей странице ASPX? –

+0

Нет. Мой файл aspx очищен 0 строк html или скрипта – pedrofernandes

+0

Если понятно, откуда идет тег формы? –

ответ

0

Кажется, что рендеринг пытается проверить HTML или что-то подобное. Попробуйте, возможно, сделать это в потоке, а затем вставить и добавить в него материал CDATA?

0

Можете ли вы попробовать визуализировать пустой тег DIV перед вызовом base.Render? Я подозреваю, что в этом может быть задействован элемент управления или страницы, и в результате это может помочь увидеть, что происходит с «>».

0

Я попытался это

StringBuilder sb = new StringBuilder(); 
StringWriter tw = new StringWriter(sb); 
HtmlTextWriter hw = new HtmlTextWriter(tw); 

base.Render(hw); 

string a = sb.ToString(); 

его все в порядке, но дальше, когда я ввести

writer.WriteLine("<![CDATA["); 
writer.write (a); 
writer.WriteLine("\r\n]]>"); 

проблема сохраняется. Я подозреваю, что из переменной записи (HtmlTextWriter) существует способ не проверять html во время процесса обработки?