我正在使用 .NetHtmlTextWriter
生成 HTML。
try
{
htw.RenderBeginTag( HtmlTextWriterTag.Span );
htw.Write(myObject.GenerateHtml());
htw.RenderEndTag( );
}
catch (Exception e)
{
GenerateHtmlErrorMessage(htw);
}
在此示例中,如果在 期间触发了错误异常myObject.GenerateHtml()
,我将生成一个不错的错误 html,但它前面会带有一个span
从不关闭的开始标记。
我可以像这样重构它
try
{
string myHtml = myObject.GenerateHtml();
// now hope we don't get any more exceptions
htw.RenderBeginTag( HtmlTextWriterTag.Span );
htw.Write(myHtml)
htw.RenderEndTag( );
}
catch (Exception e)
{
GenerateHtmlErrorMessage(htw);
}
现在我的跨度没有打开,直到我完成了艰苦的工作,但这对我来说看起来很尴尬。有没有办法用 HtmlWriter 回滚?即使我不得不投入大量使用块。
我目前在 .Net 2.0 中工作,但可以讨论 3.5 中的解决方案。