Bonjour,
En fait, je suis bloqué par un bête truc (mais vrmt un bête truc :) :
Je tente de faire une page sur laquelle, lorsqu'on click sur un des deux radiobuttonlist du formulaire, un sous formulaire différent se charge.
Donc dans ma page aspx, j'ai ceci (compris ds un formulaire, of course) :
<asp:RadioButtonList id="LapOrDesk" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal" RepeatColumns="2" AutoPostBack="True">
<asp:ListItem Value="Laptop">Laptop</asp:ListItem>
<asp:ListItem Value="Desktop">Desktop</asp:ListItem>
</asp:RadioButtonList>
Je crée donc une fonction qui est appellée dans mon formulaire, avec des balises :
<%LaptopOrDesktop();%>
Voici la fonction :
public void LaptopOrDesktop()
{
if (LapOrDesk.SelectedItem.Value.ToString()==("Laptop"))
{
//show the Laptop form
Response.Write(LaptopForm);
}
else if(LapOrDesk.SelectedItem.Value.ToString()==("Desktop"))
{
//show the Desktop form Response.Write("<TR><TD>Ca marche saraassssss!</TD></TR>");
}
else
{
Response.Write("<TR><TD>Please select your computer type");
}
}
Cependant, quand je le lance, j'obtiens à CHAQUE fois (et ça me rend fou;p) :
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error:
Line 118: {
Line 119:
Line 120: if (LapOrDesk.SelectedItem.Value.ToString()==("Laptop"))
Line 121: {
Line 122: //show the Laptop form
J'ai d'abord pensé que mon object LapOrDesk (mon RadioButtonList) était inaccessible (protected ou private) mais après l'avoir mis en public, ça ne fonctionne toujours pas.)
J'ai essayé de modifier la syntaxe (ex :
(LapOrDesk.SelectedItem.Text.ToString()==("Desktop")) ou
(LapOrDesk.SelectedItem.Text==("Desktop")) ou
(LapOrDesk.SelectedItem.Value==("Desktop")) ou
(LapOrDesk.Text.ToString()==("Desktop")) ou
etc.
Mais force m'est d'avouer que... Je n'y arrive pas...
Quelqu'un aurait une idée? (même si ce n'est pas le cas, merci d'avoir lu ;)