Passage de paramètre Usercontrol

liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008 - 28 août 2006 à 13:24
liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008 - 1 sept. 2006 à 13:28
Bonjour

J'ai un souci avec un usercontrol quej'integre dans un  page aspx, je voudrais lui passer un paramètre mais dynamique

voila :

<

Listcomments:Listcomments
ID="list"
runat="server"
DataId="402"
/>

Quand je passe mon dataId en chiffre ca marche
Mais moi je voudrai récupéréer le DataID dans mon code behind et faire appel à la méthode getID

<

Listcomments:ListcommentsID="list"runat="server"DataId='<% Response.Write(getid()); %>
'/>

Ca ne marche pas il prend comme valeur  <% Response.Write(getid()); %>
j'ai essayé en passant  <%# getid(); %> marche pas non plus

Comment dois je faire ?
Merci BEaucoup

 

8 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 août 2006 à 14:27
Bonjour, c'est tout à fait normal !

Dans ton code .net il faut faire list.DataId = getid();

le <%# getid() %> pourrait marcher si ton controle est dans un context de binding ce qui n'est pas le cas :-/

<hr />Cyril - MVS - MCP
0
liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008
28 août 2006 à 14:49
    Super Merci beaucoup Ca marche nikel :)
0
liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008
30 août 2006 à 15:29
Bon alors en fait non ca ne marche pas

voila ce que j'ai fait:

Dans le aspx je place mon control :
Je passe DataId=""  sinon il pete en disant qu'il manque une variable

<Listcomments:Listcomments
ID="list"
runat="server"
DataId=""/>

et dans le aspx.cs , dans la méthode load je charge :

list.DataId = getID();

Et ping il me met une erreur ---> Pour lui le DataId est nul
Je fais comment please
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
30 août 2006 à 15:39
enleve ton DataId = "" dans le code aspx de la page (ca n'a rien à voir avec l'erreur mais c'est inutile)

Es tu sur que la méthode getID retourne quelque chose ?

<hr />Cyril - MVS - MCP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008
30 août 2006 à 16:05
oui il retourne quelque chose

D'ailleurs si je passe directement
List.DataId = "418";
Ca marche pas j'ai l'erreur:

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 22:         else
Line 23:         {
Line 24:             dataid   = Int32.Parse(DataId.ToString());
Line 25:         }
Line 26:

0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
30 août 2006 à 16:08
Tu peux me montrer le code de ta propriété DataID de ton UserControl

<hr />Cyril - MVS - MCP
0
liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008
30 août 2006 à 16:24
le voila


 








int
dataid;


protected



void
Page_Load(

object
sender,

EventArgs
e){


dataid =

Int32
.Parse(DataId.ToString());}


override



protected



void
OnInit(

EventArgs
e){


this
.Load +=

new
System.

EventHandler
(

this
.Page_Load);}


protected



string
m_id;


public



string
DataId{


get
{

return
m_id; }


set
{ m_id =

value
; }}
0
liliemumue Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 6 mars 2008
1 sept. 2006 à 13:28
et bah j'ai posté mon code ? Ca te dit rien alor s?


Sinon je vais foutre mon objet en session et je le recuperais ensuite ( mais j'aime pas cette soluce )
0
Rejoignez-nous