J'ai une importation de csv qui importe mes valeurs CSV dans Sitecore. Après ce processus, je veux montrer les erreurs dans un asp: littéral. Cela ne fonctionne pas, et je pense que c'est parce que j'ai besoin d'un updatepanel pour cela afin de pouvoir mettre à jour le texte après le premier postback (le chargement/importation csv).Affichage des erreurs dans updatepanel après le traitement d'un fichier CSV
Je l'ai fait:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
et code ceci:
string melding = string.Format("Er zijn {0} objecten geïmporteerd.{1}", nrOfItemsImported, errors);
ViewState["Melding"] = melding;
Et j'ai un bouton. Sur le onclick de ce bouton je:
Literal literal = new Literal();
literal.Text = (string)ViewState["Melding"];
literal.ID = DateTime.Now.Ticks.ToString();
UpdatePanel1.ContentTemplateContainer.Controls.Add(literal);
PlaceHolder1.Controls.Add(literal);
Quand j'appuyez maintenant sur le bouton je veux mettre à jour le panneau afin qu'il montrera mon littérales avec le errormsg sur elle. Ceci cependant ne se produit pas. Comment se peut-il? Je devine qu'il a quelque chose à voir avec mon état d'affichage, je ne vois pas les clés sur le viewstate après que j'appuie sur le bouton ...
@Update:
Je trouve le problème. Je stockais des informations dans une session, mais les données de la clé dans laquelle je stockais les informations étaient trop volumineuses. Cela a rendu la clé de session vide. Je signalais une chaîne vide dans mon littéral et donc aucune information n'a été montrée. Je suis maintenant à la recherche d'un meilleur moyen de stocker mes données et de les afficher dans mon updatepanel. J'ai essayé Viewstate/Session/Cookies et rien de tout cela ne marcherait comme je le voulais. Lorsque j'utilise un viewstate, je ne peux pas stocker d'informations. Le viewstate (debugmode) montre les touches 0 et 0 ... J'espère que quelqu'un connait un bon moyen de m'assurer que ma chaîne d'erreurs (476kb) est stockée quelque part où je peux facilement la poster sur le littéral de mon updatepanel.
Je supprimer cette partie: 'literal.ID = DateTime.Now.Ticks.ToString()' et juste utiliser 'literal.ID =" Status "', pas sûr si ASP.Net reconnaît que pourrait être un ID invalide , mais cela pourrait être le cas. –
Avez-vous essayé de le déboguer? Est-ce que votre code atteint l'événement Button1_Click? – Prutswonder