CS0123: No overload for 'OK_Click' matches delegate 'System.EventHandler' [Résolu]

bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 6 juil. 2006 à 13:50 - Dernière réponse : bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention
- 7 juil. 2006 à 09:07
salut,

ce message d'erreur apparait : CS0123: No overload for 'OK_Click' matches delegate 'System.EventHandler' lorsque je compile.
voila mon code de mapage.aspx

<asp:FormView
id="form_pers"
runat="server"
DataSourceID="pers_SDS"
>

<ItemTemplate>

<h2>DEMANDE D'ACCES
</h2>

<table
style="width: 483px; height: 210px"
align="center">

<tr>

<td
colspan="4">Vous êtes sur le point de créer une demande pour

</td>

</tr>

<tr>

<td>WWID
</td>

<td><asp:TextBox
ID="wwid_TB"
runat="server"
Text='<%# Bind("wwid_pers") %>
'
/></td>

<td><asp:Button
ID="OK"
runat="server"
Text="OK"
OnClick="OK_Click"
/></td>

<td><a
href
=
"javascript:ouvreFenetre('http://browsejjeds.jnj.com/browsejjeds/', 550, 440)">JJEDS
</a></td>

</tr>

<asp:Panel
ID="info_usr"
runat="server"
Visible="true"><tr>

<td><asp:Label
ID="Label1"
runat="server"
Text="nom"
/></td>

<td><asp:TextBox
ID="nom_TB"
runat="server"
/></td>

<td><asp:Label
ID="Label2"
runat="server"
Text="prénom"
/></td>

<td><asp:TextBox
ID="prenom_TB"
runat="server"
/></td>

</tr>

<tr>

<td>système
</td>

<td>

<asp:DropDownList
ID="sys_DDL"
runat="server"
DataSourceID="system"
DataTextField="nom_logi"

DataValueField="id_logi"
AutoPostBack="true"
OnDataBound="sys_DDL_ajou_item"
/>

<asp:SqlDataSource
ID="system"
runat="server"
ConnectionString="<%$ ConnectionStrings:AccessRequestConnectionString %>
"

SelectCommand="SELECT * FROM [logiciel] ORDER BY [nom_logi]"></asp:SqlDataSource>

</td>

<td>service
</td>

<td>

<asp:DropDownList
ID="serv_DDL"
runat="server"
DataSourceID="service"
DataTextField="nom_serv"

DataValueField="id_serv"
AutoPostBack="true"
OnDataBound="serv_DDL_ajou_item"
/>

<asp:SqlDataSource
ID="service"
runat="server"
ConnectionString="<%$ ConnectionStrings:AccessRequestConnectionString %>
"

SelectCommand="SELECT * FROM [service] ORDER BY [nom_serv]"></asp:SqlDataSource>

</td>

</tr></

asp:Panel>

</table>

</ItemTemplate>

</asp:FormView></form>

et le code de mapage.aspx.cs
public

partial
class
Public_demande : System.Web.UI.
Page{

protected
void Page_Load(
object sender,
EventArgs e){

}

protected
void OK_Click(
object sender, System.Web.UI.WebControls.
DataListItemEventArgs e){

if(((
TextBox)e.Item.FindControl(
"wwid_TB")).Text !=
""){

Usr u =
new
Usr();u.loadInfos(

null, ((
TextBox)e.Item.FindControl(
"wwid_TB")).Text);((

TextBox)e.Item.FindControl(
"prenom_TB")).Text = u.firstName;((

TextBox)e.Item.FindControl(
"nom_TB")).Text = u.lastName;((

Panel)e.Item.FindControl(
"info_usr")).Visible =
true;}

}

 

protected
void sys_DDL_ajou_item(
object sender, System.Web.UI.WebControls.
DataListItemEventArgs e){

((

DropDownList)e.Item.FindControl(
"sys_DDL")).Items.Insert(0,
"");}

protected
void serv_DDL_ajou_item(
object sender, System.Web.UI.WebControls.
DataListItemEventArgs e){

((

DropDownList)e.Item.FindControl(
"serv_DDL")).Items.Insert(0,
"");}

}

je ne suis pas tres douee en langage objet, quelqu'un peut m'aider ?
ce message apparait depuis que j'ai rajouté le formView et tout ce qui va avec <ItemTemplate
>.
merci a vous
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
gldfdp 91 Messages postés lundi 30 juin 2003Date d'inscription 21 février 2008 Dernière intervention - 6 juil. 2006 à 17:39
3
Merci
Essaie de mettre un EventArgs au lieu d'un System.Web.UI.WebControls.FormViewCommandEventArgs comme paramètre dans ta fonction protected
void sys_DDL_ajou_item.

Puis dans le code de cette fonction:
 ((DropDownList
)form_pers.FindControl(
"sys_DDL")).Items.Insert(0,
"");

Merci gldfdp 3

codes-sources a aidé 87955 internautes ce mois-ci

Commenter la réponse de gldfdp
gldfdp 91 Messages postés lundi 30 juin 2003Date d'inscription 21 février 2008 Dernière intervention - 6 juil. 2006 à 15:01
0
Merci
C'est normal, tu appelles ta fonction lorsque tu cliques sur un button et dans la fonction appelée tu lui dis que l'eventargument est un DataListItemEventArgs d'où incompatibilité.
Commenter la réponse de gldfdp
bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 6 juil. 2006 à 15:27
0
Merci
je suis obligée d'utiliser DataListItemEventArgs pour récupérer ma textBox. De plus, ca me fait l'erreur pour les ddl aussi!!!
une solution ?
Commenter la réponse de bootchoz
gldfdp 91 Messages postés lundi 30 juin 2003Date d'inscription 21 février 2008 Dernière intervention - 6 juil. 2006 à 15:42
0
Merci
tu rajoutes à ton boutton: CommandName="OK" et à ta formview: onitemcommand="vdItemcommand"

puis dans le code-behind:

void vdItemCommand(Object sender, FormViewCommandEventArgs e)
  {

      if (e.CommandName == "OK")
    {
      



            if
(((

TextBox
)e.Item.FindControl(

"wwid_TB"
)).Text !=

""
)



            {



               Usr
u =

new



Usr
();



               u.loadInfos(null, ((
TextBox)e.Item.FindControl(
"wwid_TB")).Text);


               ((TextBox)e.Item.FindControl(
"prenom_TB")).Text = u.firstName;


               ((TextBox)e.Item.FindControl(
"nom_TB")).Text = u.lastName;


               ((Panel)e.Item.FindControl(
"info_usr")).Visible =
true;


         }


   }
}
Commenter la réponse de gldfdp
bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 6 juil. 2006 à 15:55
0
Merci
j'ai ajouté ton morceau de code et j'ai l'erreur :
CS0117: 'System.Web.UI.WebControls.FormViewCommandEventArgs' does not contain a definition for 'Item'
pour cette ligne
if (((TextBox)e.Item.FindControl("wwid_TB")).Text != "")
aussi, que dois mettre dans OK_Click ? je le supprime ?
Commenter la réponse de bootchoz
gldfdp 91 Messages postés lundi 30 juin 2003Date d'inscription 21 février 2008 Dernière intervention - 6 juil. 2006 à 16:23
0
Merci
Essaie de mettre à la place de e.item.FindControl("nomducontrol"), form_pers.Row.FindControl("nomducontrol").
tu vire l'evenement OK_Click il ne sert plus à grand chose
Commenter la réponse de gldfdp
bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 6 juil. 2006 à 16:46
0
Merci
je te remercie gldfpd...
it works quite well !
Commenter la réponse de bootchoz
bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 6 juil. 2006 à 17:09
0
Merci
excuse moi encore
j'ai maintenat ce message d'erreur :
CS0123: No overload for 'sys_DDL_ajou_item' matches delegate 'System.EventHandler'
pour cette ligne

je pensais avoir compris le fonctionnement mais la je m'apercois que je n'arrive pas a appliquer ce que tu m'as dit...
j'ai modifié le code behind des DDL de cette facon :
protected

void sys_DDL_ajou_item(
object sender, System.Web.UI.WebControls.
FormViewCommandEventArgs e)
{
   ((
DropDownList)form_pers.FindControl(
"sys_DDL")).Items.Insert(0,
"");
}
si tu pouvais m'aider encore...
Commenter la réponse de bootchoz
bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 6 juil. 2006 à 19:21
0
Merci
merci, je te tiens au courant de mon avancée !
Commenter la réponse de bootchoz
bootchoz 88 Messages postés mardi 3 mai 2005Date d'inscription 17 septembre 2006 Dernière intervention - 7 juil. 2006 à 09:07
0
Merci
ok, ca fonctionne correctement maintenant !
il faut mettre EventArgs car c'est un argument et non pas un évenement declencheur si j'ai bien compris.
en tous cas merci pour tout !
Commenter la réponse de bootchoz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.