Есть ли проблемы со смешиванием WriteBeginTag и RenderBeginTag в одном и том же коде?
Я создаю XHTML для нестандартного браузера (Polycom Microbrowser). Я хотел бы использовать XhtmlTextWriter, но он игнорирует атрибут границы в таблице. Это в основном как правильная вещь, так как вы должны использовать CSS для установки границы. Увы, Polycom не поддерживает CSS.
Поэтому, когда я отображаю теги начала и конца таблицы, мне нужно использовать HtmlTextWriter.WriteBeginTag/WriteEndTag вместо HtmlTextWriter.RenderBeginTag/RenderEndTag.
protected void RenderTableBegin(HtmlTextWriter writer)
{
//writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
//writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.WriteBeginTag("table");
writer.WriteAttribute("border", "0");
writer.Write(HtmlTextWriter.TagRightChar);
}
protected void RenderTableEnd(HtmlTextWriter writer)
{
writer.WriteEndTag("table");
//writer.RenderEndTag();
}
В других местах моего кода я использую HtmlTextWriter.RenderBeginTag/RenderEngTag. Есть ли известные проблемы с их смешением? Я в порядке, пока я использую соответствующие звонки?
1 ответ
Я не верю, что есть проблема, но есть разница в способе визуализации тегов. Если вы хотите контролировать процесс, вы можете просто визуализировать весь HTML-код в выражении writer.Write.
writer.Write("<table border=\"0\">");
Просто чтобы обеспечить окончательный результат, если у вас возникли проблемы с этим. Я знаю, что большая разница заключается в том, как происходит процесс рендеринга (для тега рендеринга начала атрибуты должны быть добавлены до, тогда как writebegintag добавляет атрибуты после того, как вы это сделали).
НТН.