Beste tweakers,
Ik ben bezig met een soort vacaturebank. Werkgevers kunnen hun eigen vacatures zien middels een Gridview, en bewerken middels een DetailsView. Ik wil echter een aantal bewerkingen doen op te bewerken velden, waardoor ik een instantie wil maken van de desbetreffende velden m.b.t. de Findcontrol() functie. Dit levert in edit-mode steevast null op, zowel in de Page_Load als in de PreRender. Met de defaultmode op Insert gaat het wel goed.
Ik heb het probleem geisoleerd tot de volgende code:
Web Form:
Codebehind:
De textboxes worden wel gevuld met de gegevens uit de database, dus dat werkt prima. Waarom kan ik echter geen instatie maken van tbVacaturetekst en tbTitel?
Alvast bedankt, m'n bloeddruk stijgt al enige tijd van frustratie
Ik ben bezig met een soort vacaturebank. Werkgevers kunnen hun eigen vacatures zien middels een Gridview, en bewerken middels een DetailsView. Ik wil echter een aantal bewerkingen doen op te bewerken velden, waardoor ik een instantie wil maken van de desbetreffende velden m.b.t. de Findcontrol() functie. Dit levert in edit-mode steevast null op, zowel in de Page_Load als in de PreRender. Met de defaultmode op Insert gaat het wel goed.
Ik heb het probleem geisoleerd tot de volgende code:
Web Form:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <asp:DetailsView ID="dvVacature" DataKeyNames="vacatureid" runat="server" dataSourceID="dsVacature" DefaultMode="Edit" AutoGenerateRows="False" OnPreRender="onPreRender"> <Fields> <asp:BoundField DataField="vacatureid" HeaderText="Vacaturenr." ReadOnly="True" /> <asp:TemplateField HeaderText="Titel:" HeaderStyle-VerticalAlign="top"> <EditItemTemplate> <asp:TextBox ID="tbTitel" runat="server" Columns="45" Text='<%# Bind("Titel") %>' /> <asp:RequiredFieldValidator ID="reqValTitel" runat="server" ControlToValidate="tbTitel" Display="Dynamic" Text="<br/>Geeft uw vacature een titel" /> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="tbTitel" runat="server" Columns="45" Text='<%# Bind("Titel") %>' /> <asp:RequiredFieldValidator ID="reqValTitel" runat="server" ControlToValidate="tbTitel" Display="Dynamic" Text="<br/>Geeft uw vacature een titel" /> </InsertItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Vacaturetekst:" HeaderStyle-VerticalAlign="top"> <EditItemTemplate> <asp:TextBox ID="tbVacaturetekst" runat="server" Columns="45" Rows="15" Text='<%# Bind("vacaturetekst") %>' TextMode="MultiLine" /> <asp:RequiredFieldValidator ID="reqValVacaturetekst" runat="server" ControlToValidate="tbVacaturetekst" Display="Dynamic" Text="<br/>Beschijf uw vacature" /> </EditItemTemplate> </asp:TemplateField> <asp:CommandField ShowEditButton="True" EditText="Opslaan" CancelText="Annuleren" ShowInsertButton="true" InsertText="Vacature plaatsen" /> </Fields> </asp:DetailsView> |
Codebehind:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| TextBox _tbVacaturetekst; protected void Page_Load(object sender, EventArgs e) { TextBox Titel = (TextBox)dvVacature.FindControl("tbTitel"); //Waarom is Titel hier null? } protected void onPreRender(object sender, EventArgs e) { _tbVacaturetekst = (TextBox)dvVacature.FindControl("tbVacaturetekst"); //Waarom is _tbVacaturetekst hier null? dsVacature.SelectParameters["Username"].DefaultValue = User.Identity.Name; } |
De textboxes worden wel gevuld met de gegevens uit de database, dus dat werkt prima. Waarom kan ik echter geen instatie maken van tbVacaturetekst en tbTitel?
Alvast bedankt, m'n bloeddruk stijgt al enige tijd van frustratie