2011-06-26 6 views
2

J'ai un répéteur avec une zone de texte à l'intérieur. J'essaie d'éditer l'information dans la zone de texte, de récupérer les nouvelles données et d'écrire dans la base de données. Avec mon code c'est en me donnant l'information originale qui était dans la boîte. Pas la nouvelle information que j'ai ajoutée. Voici mon codeModifier la zone de texte dans le répéteur

html:

<asp:LinkButton id="saveReviewLinkButton" text="Save" runat="server" onCommand="saveReviewLinkButton_OnCommand" /> 
<table> 
<asp:Repeater id="ReviewRepeater" runat="server" onItemDataBound="ReviewRepeater_ItemDataBound"> 
      <itemtemplate> 
       <tr > 
       <td ><asp:TextBox id="titleLabel" runat="server" width="200px" textMode="MultiLine"/></td> 
       </tr> 
      </itemtemplate> 
</table> 

C#:

protected void ReviewRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) 
    { 
     Review review = (Review)e.Item.DataItem; 
     TextBox titleLabel = (TextBox)e.Item.FindControl("titleLabel"); 
     titleLabel.Text = review.Title; 
    } 
} 



    protected void saveReviewLinkButton_OnCommand(object sender, EventArgs e) 
    { 
    TextBox titleLabel = new TextBox(); 

    foreach (RepeaterItem dataItem in ReviewRepeater.Items) 
     { 
      titleLabel = (TextBox)dataItem.FindControl("titleLabel"); 
      string newInfo = titleLabel.Text; 
     } 
    } 

Répondre

2

S'il vous plaît assurez-vous, vous liez les données au répéteur en vérifiant la page charge

if(!IsPostBack) 
    BindData(); 
+0

Oui Je lie la date. Il y a 130 lignes de code. Je me suis fatigué de me concentrer sur la zone qui me semblerait la plus préoccupante. –

+0

Le code que vous avez posté semble correct et devrait bien fonctionner – Nitesh

+0

En fait vous aviez raison. J'avais ce lien sur une autre page et je pensais que c'était sur celui-ci aussi. Merci pour l'aide. –

Questions connexes