Hoi,
Een willekeurige aspx page bevat een aantal user controls. Een van deze user controls is heeft een waarde nodig die in een andere user control wordt "uitgerekend".
zo heb ik een User control met een aantal dropdownlisten gevuld met gegevens uit de database. De andere user control maak gebruik van de bovengenoemde user control. Deze user control bevatten een aantal DataGrids. Deze worden gevuld met behulp van de SelectedItem.Value waarde van de usercontrol met de dropdownlist.
Als eerst heb ik een Controle Reference toegevoegd aan de usercontrol met de datagrids
vervolgens heb de volgende source code toegevoegd in de code behind file van de user control met datagrids in de Page_load method:
in dezelfde code behind file heb ik in de BindData() (deze wordt ook aangeroepen in de page_load method) method het volgende source code toegevoegd:
Er is een property aanwezig om de DropDownList Op te halen. deze is in de user control met de dropdownlist geplaast. De property ziet er als volgt uit:
Nogmaals het bovenstaande user controls worden door 1 dezelfde aspx page gebruikt.
Als ik het bovenstaande wil runnen krijg ik een foutmelding (om precies te zijn een null reference exception). Er is namelijk geen referentie met objDropDownListControl .
Wat doe ik hier verkeerd? Hopelijk kunnen jullie mij helpen. (wellicht is dit een noob vraag. mijn excusses hiervoor).
Een willekeurige aspx page bevat een aantal user controls. Een van deze user controls is heeft een waarde nodig die in een andere user control wordt "uitgerekend".
zo heb ik een User control met een aantal dropdownlisten gevuld met gegevens uit de database. De andere user control maak gebruik van de bovengenoemde user control. Deze user control bevatten een aantal DataGrids. Deze worden gevuld met behulp van de SelectedItem.Value waarde van de usercontrol met de dropdownlist.
Als eerst heb ik een Controle Reference toegevoegd aan de usercontrol met de datagrids
code:
1
| <%@ Reference Control="UserControl/DropDownlistControl.ascx" %> |
vervolgens heb de volgende source code toegevoegd in de code behind file van de user control met datagrids in de Page_load method:
code:
1
| objDropDownListControl = (SwitchRolSwitchWebsiteControl)Page.LoadControl("UserControl/DropDownListControl.ascx"); |
in dezelfde code behind file heb ik in de BindData() (deze wordt ook aangeroepen in de page_load method) method het volgende source code toegevoegd:
code:
1
2
3
4
5
6
7
8
9
10
| SqlCommand Command1 = new SqlCommand("csp_Info",conn);
Command1.CommandType=CommandType.StoredProcedure;
Command1.Parameters.Add("@Name",objTicket.Ticket.Name);
[b]Command1.Parameters.Add("@WebSite_nr",objDropDownListControl .DropDownList1.SelectedItem.Value);[b]
conn.Open();
SqlDataReader reader = Command1.ExecuteReader();
DataGrid1.DataSource=reader;
DataGrid1.DataBind();
reader.Close(); |
Er is een property aanwezig om de DropDownList Op te halen. deze is in de user control met de dropdownlist geplaast. De property ziet er als volgt uit:
code:
1
2
3
4
| public System.Web.UI.WebControls.DropDownList DropDownList1
{
get{return this.ddldropdownlist;}
} |
Nogmaals het bovenstaande user controls worden door 1 dezelfde aspx page gebruikt.
Als ik het bovenstaande wil runnen krijg ik een foutmelding (om precies te zijn een null reference exception). Er is namelijk geen referentie met objDropDownListControl .
Wat doe ik hier verkeerd? Hopelijk kunnen jullie mij helpen. (wellicht is dit een noob vraag. mijn excusses hiervoor).
[ Voor 3% gewijzigd door Verwijderd op 06-12-2005 14:52 ]