HtmlTextWriter для Строкового представления - я пропускаю что-то?

Вам нужно будет добавить триггер при вставке, обновлении, удалении, который устанавливает значение в другой таблице для sysdate.

Когда вы запускаете приложение, оно считывает значение и сохраняет его где-нибудь, чтобы при следующем запуске оно имело ссылку для сравнения.

Считаете ли вы, что «Special Admin Stuff»?

Было бы лучше описать, что вы на самом деле делаете, чтобы получить более четкие ответы.

13
задан Adam McKee 17 June 2009 в 17:44
поделиться

3 ответа

Try this:

protected override void RenderContents(HtmlTextWriter output)  
{  
   StringBuilder sb = new StringBuilder();  
   HtmlTextWriter htw = new HtmlTextWriter(new System.IO.StringWriter(sb,   
   System.Globalization.CultureInfo.InvariantCulture));  
   foreach (Control ctrl in Controls)  
   {  
      ctrl.RenderControl(htw);  
   }  
  string strContents = sb.ToString();  

}

22
ответ дан 1 December 2019 в 21:25
поделиться

Альтернативный метод с использованием relfection:

private string GetString(HtmlTextWriter writer) 
{
   // the flags to see the internal properties of the writer
   System.Reflection.BindingFlags flags = System.Reflection.BindingFlags.Default;
   flags |= System.Reflection.BindingFlags.NonPublic;
   flags |= System.Reflection.BindingFlags.Instance;
   flags |= System.Reflection.BindingFlags.FlattenHierarchy;
   flags |= System.Reflection.BindingFlags.Public;

   // get the information about the internal TextWriter object
   System.Reflection.FieldInfo baseWriter = writer.GetType().GetField("writer", flags);

   // use that info to create a StringWriter
   System.IO.StringWriter reflectedWriter = (System.IO.StringWriter)baseWriter.GetValue(writer);

   // now we get a StringBuilder!
   StringBuilder builder = reflectedWriter.GetStringBuilder();

   return builder.ToString();
}

Затем нужно просто воссоздать HtmlTextWriter с использованием строки и StringBuilder.

Он был построен с использованием пары подсказок, которые я почерпнул из разговор между Томом Спинком и Ротси в EggheadCafe

1
ответ дан 1 December 2019 в 21:25
поделиться

Вы можете быть производным от HttpTextWriter и переопределять методы OnTagRender, OnAttributeRender и OnStyleRender и изменять теги по мере их отображения. Документы MSDN для OnTagRender показывают пример, в котором тег изменяется во время рендеринга:

http://msdn.microsoft.com/en-us/library/system.web.ui.htmltextwriter.ontagrender.aspx

3
ответ дан 1 December 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: