Si j'ai une zone de texte txtInfo
dans un formulaire que je soumets par courrier, si je poste sur la page, je peux lire la valeur entrée dans la zone de texte en utilisant txtInfo.Text
. Que faire si je poste sur une autre page? Est-ce que je dois analyser Request.Form
pour les mutilations de nom de contrôle (ce que je fais maintenant) ou puis-je l'obtenir à partir de ce désordre.C# comment récupérer les données
Merci
Merci pour les réponses à ce jour ... Désolé, j'aurais été un peu plus clair. Ce contrôle est un contrôle runat="server"
. C'est ce que je suis relégué à présent - pas très joli.
foreach (String key in page.Request.Form.AllKeys)
{
String[] controlName = key.Split('$');//remove that horrrible .net naming - thanks Bill.
keyName = controlName[controlName.Length - 1];//get the last value so we always have the name
keyValue = page.Request.Form[key];
if (keyValue != "")
{
switch (keyName)...
Cela ressemble à une solution plus stable que la mienne. Je vais essayer et voter en conséquence. Comment est la performance sur .Findcontrol? Existe-t-il un moyen de référencer directement le contrôle - par exemple Page.PreviousPage.txtInfo? – Praesagus
Cela fait longtemps que je n'ai pas fait ASP.NET mais IIRC vous permet de diffuser votre Page.PreviousPage en tant que classe de formulaire Web. Dans votre classe de formulaire Web, vous pouvez exposer la valeur TxtInfo.Text ou le contrôle TextBox tous ensemble. Tout ce que vous avez à faire est quelque chose comme (Page.PreviousPage comme MyInfoWebForm) .MyTxtInfoTextBox.Text pour accéder à la valeur. Je recommanderais seulement d'exposer la valeur de texte si possible. Si cela n'est pas clair, faites le moi savoir. –
Après avoir regardé votre exemple, si vous ne faites pas de publication croisée, tout ce que vous avez à faire est Request.Form ["txtInfo"] comme mentionné par d'autres. De plus, si le est défini dans votre page, tout ce que vous avez à faire derrière le code est d'accéder à la valeur comme txtInfo.Text. Vous n'auriez pas besoin de faire une Request.Form ["txtInfo"] ... –