问题解决了。
我考虑过这个问题,用文本编写器替换生成的视图类,而不是替换视图TextWriter实例。
更新的GetInlineResult(目前格式非常粗糙)
private static string GetInlineResult(Action inline)
{
// create writers etc.
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htmltw = new HtmlTextWriter(sw);
object view = inline.Target;
FieldInfo field = view.GetType().GetField("__w");
HtmlTextWriter tw = field.GetValue(view) as HtmlTextWriter;
field.SetValue(view, htmltw);
// execute
inline();
field.SetValue(view, tw);
// get contents
return sb.ToString();
}