[C#] Problème déclenchement événement dans page_load
Bonjour à tous et bonne année !!!
J'ai un repeater qui contient des des champs et un bouton save.
le bouton save (attribut html <a>) est contrôlé côté serveur(runat="server") et possède une méthode saveButton_Click appelé lorsque l'événement ServerClick est appelé.
Jusque là, pas de problème, lorsque je clique surt le bouton, l'événement est déclenché et ma méthode save appelée, ma ligne est bien rajoutée.
Mais si recharge la page après cette action (en faisant F5 par exemple), la méthode save ets encore appelée et une nouvelle ligne est ajoutée, ce que je ne veux pas.
Ci-dessous, la partie du code qui correspond au problème
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
public class Labels : wsAdmin.UserControls.RequestParamsPageInit
{
...
protected HtmlAnchor saveButton;
...
{
if(!IsPostBack)
BindLang();
BindLabels();
if (!IsPostBack)
{
BindModules();
BindPages();
BindItems();
}
if (CST_IS_CENTRAL == true)
{
HeaderPage.Type = Header.BackOfficeType.Central;
}
else
{
HeaderPage.Type = Header.BackOfficeType.Local;
}
HeaderPage.CurrentPage = Header.PageType.Label;
HeaderPage.refresh();
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.saveButton.ServerClick += new EventHandler(saveButton_Click);
...
...
}
private void saveButton_Click(object sender, EventArgs e)
{
string labelId = currentId.Text;
using (LabelDataAccess lda = new LabelDataAccess( CST_CULTURE, CST_BRAND))
{
string text = currentText.Text.Replace(" ", " ");
string desc = currentDesc.Text.Replace(" ", " ");
if(CST_IS_CENTRAL && labelId == "0")
labelId = lda.Add(ddlPage.SelectedValue ,text, desc, false);
else
{
if(CST_IS_CENTRAL)
lda.Add(labelId, ddlPage.SelectedValue ,text, desc, false);
else
lda.AddByCountry(labelId, text, desc);
}
}
currentId.Text = string.Empty;
BindItems();
}
} |
Comment régler ce problème :?
Merci pour votre aide !!