Hallo,
Ik ben bezig met een ASP.NET applicatie met daar in een Lijst van plaatjes namen (GridView) en een FormView. Wanneer je in de gridView een regel aanklikt er aan de zijkant een FormView tevoorschijn met daarin het plaatje, de naam en commentaar. Daar onder heb ik twee knoppen staan:
Nieuw en Wijzigen.
Als je nu op wijzigen drukt komt kan je het plaatje bewerken de naam en het commentaar aanpassen en een nieuw plaatje er opzetten via een FileUpload Control. Nu is het zo dat ik een ObjectDataSource gebruik die bestaat uit een XSD bestand (XML) met daarin de SQL commandos en return en invoerwaardes. Dit doe ik omdat ik anders niet zou weten hoe je via de knop Nieuw en Wijzigen een SQL commando kan hangen.
ObjectDataSource Code:
Nu heb ik aan het FormView een event gehangen: OnItemUpdating
Die verwijst weer naar deze lap code in C#
Nu komt hij met deze fout:
ObjectDataSource 'selectPlaatje' could not find a non-generic method 'UpdateQuery' that has parameters: Naam, Commentaar, fullsize, fullsizeWidth, fullsizeHeight, thumb, thumbWidth, thumbHeight, extension, original_plaatjeID.
Ik ben bezig met een ASP.NET applicatie met daar in een Lijst van plaatjes namen (GridView) en een FormView. Wanneer je in de gridView een regel aanklikt er aan de zijkant een FormView tevoorschijn met daarin het plaatje, de naam en commentaar. Daar onder heb ik twee knoppen staan:
Nieuw en Wijzigen.
Als je nu op wijzigen drukt komt kan je het plaatje bewerken de naam en het commentaar aanpassen en een nieuw plaatje er opzetten via een FileUpload Control. Nu is het zo dat ik een ObjectDataSource gebruik die bestaat uit een XSD bestand (XML) met daarin de SQL commandos en return en invoerwaardes. Dit doe ik omdat ik anders niet zou weten hoe je via de knop Nieuw en Wijzigen een SQL commando kan hangen.
ObjectDataSource Code:
ASP.NET:
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
27
28
29
30
| <asp:ObjectDataSource ID="selectPlaatje" runat="server" InsertMethod="InsertQuery" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="dataPlaatjeTableAdapters.plaatjesTableAdapter" UpdateMethod="UpdateQuery"> <UpdateParameters> <asp:Parameter Name="naam" Type="String" /> <asp:Parameter Name="commentaar" Type="String" /> <asp:Parameter Name="fullsize" Type="Object" /> <asp:Parameter Name="fullsizeWidth" Type="Int32" /> <asp:Parameter Name="fullsizeHeight" Type="Int32" /> <asp:Parameter Name="thumb" Type="Object" /> <asp:Parameter Name="thumbWidth" Type="Int32" /> <asp:Parameter Name="thumbHeight" Type="Int32" /> <asp:Parameter Name="extension" Type="String" /> <asp:ControlParameter ControlID="gridPlaatjes" Name="plaatjeID" PropertyName="SelectedValue" Type="Int32" /> </UpdateParameters> <SelectParameters> <asp:ControlParameter ControlID="gridPlaatjes" Name="plaatjeID" PropertyName="SelectedValue" Type="Int32" /> </SelectParameters> <InsertParameters> <asp:Parameter Name="naam" Type="String" /> <asp:Parameter Name="fullsize" Type="Object" /> <asp:Parameter Name="fullsizeWidth" Type="Int32" /> <asp:Parameter Name="fullsizeHeight" Type="Int32" /> <asp:Parameter Name="thumb" Type="Object" /> <asp:Parameter Name="thumbWidth" Type="Int32" /> <asp:Parameter Name="thumbHeight" Type="Int32" /> <asp:Parameter Name="Commentaar" Type="String" /> </InsertParameters> </asp:ObjectDataSource> |
Nu heb ik aan het FormView een event gehangen: OnItemUpdating
Die verwijst weer naar deze lap code in C#
C#:
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
27
28
29
| protected void detailPlaatje_ItemUpdating(object sender, FormViewUpdateEventArgs e) { if (detailPlaatje.CurrentMode == FormViewMode.Edit) { FileUpload fu = (FileUpload)detailPlaatje.Row.Cells[0].FindControl("updateUploadPlaatje"); TextBox txtNaam = (TextBox)detailPlaatje.Row.Cells[0].FindControl("NaamTextBox"); TextBox txtCommentaar = (TextBox)detailPlaatje.Row.Cells[0].FindControl("CommentaarTextBox"); if (fu.FileName != "") { //Hele lap code die verantwoordelijk is voor het inverkleinen en het juist opmaat maken van het plaatje //De variablen die je hieronder zie staan kunnen daar dus afkomstig van zijn //Ik wil dus de waardes toewijzen aan de Parameters die ik reeds in de asp code heb opgegeven //Hoe wijs ik alleen de onderstaande waardes aan de UpdateQuery e.NewValues["naam"] = (string) txtNaam.Text; e.NewValues["commentaar"] = (string) txtCommentaar.Text; e.NewValues["fullsize"] = (object) fullsize; e.NewValues["fullsizeWidth"] = (int) fullsizeWidth; e.NewValues["fullsizeHeight"] = (int) fullsizeHeight; e.NewValues["thumb"] = (object) thumbnail; e.NewValues["thumbWidth"] = (int) 250; e.NewValues["thumbHeight"] = (int) thumbHeight; e.NewValues["extension"] = (string) fileExtension; } } } } |
Nu komt hij met deze fout:
ObjectDataSource 'selectPlaatje' could not find a non-generic method 'UpdateQuery' that has parameters: Naam, Commentaar, fullsize, fullsizeWidth, fullsizeHeight, thumb, thumbWidth, thumbHeight, extension, original_plaatjeID.
[ Voor 31% gewijzigd door Av3ng3rtje op 10-04-2006 23:10 ]