Je me demandais s'il y avait un moyen pour obtenir comment obtenir la sortie HTML d'un DataGrid. Je veux le HTML après que les données ont été liées à la grille. Y at-il une sorte de surcharge pour la méthode de rendu que je peux utiliser pour accomplir ceci? Merci.Comment obtenir la sortie HTML d'un DataGrid?
2
A
Répondre
7
var outputBuffer = new StringBuilder();
using (var writer = new HtmlTextWriter(new StringWriter(outputBuffer)))
{
yourDataGrid.RenderControl(writer);
}
outputBuffer.ToString();
-1
protected internal override void Render(HtmlTextWriter writer)
{
/// use HtmlTextWriter to customize your output
}
1
Même si vous avez surchargé la méthode Render et appelez la méthode Render de base, le code HTML figure dans le flux.
Peut-être l'architecture Control Adapter peut-elle aider ce que vous essayez d'accomplir?
+0
Voir aussi ce lien: http://msdn.microsoft.com/fr-fr/magazine/cc163543.aspx –
1
Vous pouvez utiliser cette approche dans votre classe (dérivée de DataGrid):
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
base.Render(hw);
string html = ProcessHtml(sw.ToString());
writer.Writer(html);
}
Comment puis-je utiliser pour obtenir le code html RAW après que les données ont été binded au réseau? –
Ok, créez un objet writer et transmettez-le à cette fonction: RenderContents (writer); alors le contenu de l'écrivain a la sortie que vous voulez. –