J'essaie de mettre à jour une table de base de données à partir de ma grille de données à l'aide d'un gestionnaire d'événements et d'ItemCommand. Je parviens à appeler la routine et tout fonctionne correctement sauf que le texte qui est inséré dans ma base de données est vide. J'ai réussi à retracer cela au texte ne passant pas de mon pied de page de données vers les paramètres sql. J'ai d'abord essayé d'utiliser une chaîne de caractères, puis de la transmettre aux paramètres, mais ils étaient également vides. J'accède au contrôle en utilisant la ligne suivante.Ajout d'une nouvelle ligne à la table de base de données à partir de Datagrid
sqlcmd.Parameters.Add("@GoodsDesc", SqlDbType.VarChar).Value = CType(e.Item.FindControl("txtGoodsDesc"), TextBox).Text
Le contrôle lui-même est défini à l'aide
<asp:TemplateColumn HeaderText="Goods Descriptions">
<ItemTemplate>
<asp:Label runat="server" ID="lblGoodsDesc" Text='<%# Eval("GoodsDesc") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtGoodsDesc" runat="server" TextMode="MultiLine" Rows="3"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
Est-ce que je manque quelque chose ici? C'est comme si le texte du pied de page n'était pas lié au contrôle avant que je l'appelle.
Salut, merci pour les conseils. J'ai calculé que le programme appelle Page_Load lorsque je clique sur le lien pour ajouter la ligne, de sorte que les zones de texte sont en train d'être vidées avant d'essayer de les ajouter. Je n'étais pas au courant que Page_Load serait appelé en premier. J'ai quelques idées sur la façon dont je pourrais résoudre ce problème, maintenant je dois juste espérer que je puisse le faire fonctionner. –