TextWriter tr = new SsortingngWriter(); HtmlTextWriter writer = new HtmlTextWriter(tr); HtmlForm form = new HtmlForm(); form.Controls.Add(divQueryDescription); divQueryDescription.RenderControl(writer);
Mon GridView est à l’intérieur d’une DIV et j’ajoute cette DIV à un HtmlForm afin de pouvoir le rendre en chaîne. Mais j’obtiens l’erreur suivante: –
Gridview ‘grv’ doit être placé dans une balise de formulaire avec runat = server, bien que ma Gridview soit déjà dans un formulaire car j’ai ajouté mon DIV au formulaire.
Comment puis-je rendre cette DIV en une chaîne?
Ajoutez simplement le code suivant dans votre page
public override void VerifyRenderingInServerForm(Control control) { return; }
Pour en savoir plus à ce sujet, lisez la documentation MSDN .
Assurez-vous que vous avez runat = “server” dans votre élément de formulaire / contrôle
D’après ce que vous nous montrez ici, GridView
n’est pas déjà dans un élément de form
avec runat="server"
, vous devez faire quelque chose comme ça:
Il convient de noter la partie
et sa balise de fin.
Mettre à jour:
Il semble que le form
pose problème car il n’a pas été écrit, vous écrivez directement depuis la div
: essayez d’utiliser form.RenderControl(writer);
.