Ce que je suis en train de faire est itérer à travers un répéteur et lire quelques valeurs contrôles:ASP .NET - Comment parcourir un répéteur?
foreach (RepeaterItem iter in TablePanier.Items)
{
string guid = ((HiddenField)iter.FindControl("guid")).Value.ToString();
// nombre exemplaires du livre
int nbExemplaires = int.Parse(((System.Web.UI.WebControls.TextBox)iter.FindControl("txtNbExemplaires")).Text.ToString());
}
Comme vous pouvez le voir, j'ai un HiddenValue et une zone de texte. Malheureusement, cela ne fonctionne pas, les valeurs ne sont pas lues correctement.
Qu'est-ce qui ne va pas?
Merci!
EDIT: Voici le code complet de la forme:
public partial class Panier : System.Web.UI.Page
{
Bussiness.Manager _manager = new Bussiness.Manager("MSSQLSERVER");
IEnumerable<Bussiness.iPanier> _paniers;
CurrencyConvertor _currencyConvertor = new CurrencyConvertor();
Bussiness.iCommande _commande;
int idPanier;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["login"] != null)
{
Security security = new Security();
_paniers = _manager.chargerPannierUtilisateur(Session["login"].ToString());
foreach (Bussiness.iPanier p in _paniers)
{
idPanier = p.id;
TablePanier.DataSource = p.Livres;
TablePanier.DataBind();
}
}
else
{
Response.Redirect("~/Accueil.aspx");
}
}
protected void btnCommande_Click(object sender, EventArgs e)
{
foreach (RepeaterItem iter in TablePanier.Items)
{
// id livre courant
if (iter.ItemType == ListItemType.Item || iter.ItemType == ListItemType.AlternatingItem)
{
string guid = ((HiddenField)iter.FindControl("guid")).Value.ToString();
int nbExemplaires = int.Parse(((System.Web.UI.WebControls.TextBox)iter.FindControl("txtNbExemplaires")).Text.ToString());
}
}
}
}
Comme vous pouvez le voir, le répéteur est lié au niveau du constructeur. Et j'essaye de lire les données quand un événement se produit sur un bouton de la page.
Une idée?
le code semble correct -? Où vous appelez à partir?Si vous l'appelez avant que le répéteur soit lié aux données, les contrôles n'auront pas encore de valeurs. – Ray
Je ne vois rien de mal avec le code que vous avez collé. Que voulez-vous dire quand vous dites que les valeurs ne sont pas lues correctement? –
@Ray: après que le répéteur est lié aux données. @Matti virkkunen: Les valeurs ne sont pas lues! –