Ik heb de volgende situatie waar ik niet uit kom.
Ik heb 2 ListBoxen en een knop. Ik selecteer een waarde uit de eerste listbox en die moet vervolgens naar de 2e listbox gekopieerd worden. Dit gebeurt op het moment dat er op de knop gedrukt wordt.
Declaratie:
In de Page_Load worden ze gevuld (niet postback).
Het event van de button:
Het gaat fout bij de regel:
En dan het laatste deel. Hij kan niets met het availableContacts object doen.
Error:
Object reference not set to an instance of an object.
Viewstate staat aan van de objecten en volgens mijn gevoel zou dit moeten werken. Maar waarom werkt het niet.....
Ik heb 2 ListBoxen en een knop. Ik selecteer een waarde uit de eerste listbox en die moet vervolgens naar de 2e listbox gekopieerd worden. Dit gebeurt op het moment dat er op de knop gedrukt wordt.
Declaratie:
code:
1
2
3
4
5
6
| public class edit : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ListBox selectedContacts;
protected System.Web.UI.WebControls.ListBox availableContacts;
protected System.Web.UI.WebControls.Button addContact;
} |
In de Page_Load worden ze gevuld (niet postback).
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| selectedContactsList = Campaign.GetSelectedContacts(Request["oId"]);
Cache["selected"] = selectedContactsList;
selectedContacts.DataSource = selectedContactsList;
selectedContacts.DataTextField = "FullName";
selectedContacts.DataValueField = "ContactId";
selectedContacts.DataBind();
availableContactsList = Campaign.GetAvailableContacts(selectedContactsList);
Cache["available"] = availableContactsList;
availableContacts.DataSource = availableContactsList;
availableContacts.DataTextField = "FullName";
availableContacts.DataValueField = "ContactId";
availableContacts.DataBind(); |
Het event van de button:
code:
1
2
3
4
5
6
7
8
9
10
| private void addContact_Click(object sender, System.EventArgs e)
{
DataSet temp = (DataSet)Cache["selected"];
DataRow row = temp.Tables[0].NewRow();
row["ContactId"] = availableContacts.SelectedItem.Value;;
row["FullName"] = availableContacts.SelectedItem.Text;
temp.Tables[0].Rows.Add(row);
Cache["selected"] = temp;
availableContacts.Items.Remove(availableContacts.SelectedItem);
} |
Het gaat fout bij de regel:
code:
1
| row["ContactId"] = availableContacts.SelectedItem.Value; |
En dan het laatste deel. Hij kan niets met het availableContacts object doen.
Error:
Object reference not set to an instance of an object.
Viewstate staat aan van de objecten en volgens mijn gevoel zou dit moeten werken. Maar waarom werkt het niet.....