Avatar billede jriff Nybegynder
07. november 2006 - 11:52 Der er 6 kommentarer og
1 løsning

Gridview og detailsview

Hej Alle!

Jeg har en side der hedder overview.aspx:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateDeleteButton="true" DataKeyNames="boligID" DataSourceID="ObjectDataSource1">
        <Columns>
            <asp:BoundField DataField="ID" HeaderText="boligID" SortExpression="ID" />
            <asp:BoundField DataField="by" HeaderText="by" SortExpression="by" />
            <asp:BoundField DataField="adresse" HeaderText="adresse" SortExpression="adresse" />
            <asp:BoundField DataField="postnummer" HeaderText="postnummer" SortExpression="postnummer" />
            <asp:HyperLinkField HeaderText="" Text="Edit" DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Admin/EditBolig.aspx?ID={0}" />
        </Columns>
    </asp:GridView>
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="{0}" SelectMethod="getAll" DeleteMethod="delete" TypeName="BLL.Test"></asp:ObjectDataSource>

Så har jeg siden edit.aspx:

<asp:DetailsView ID="DetailsView1" runat="server"  DataSourceID="ObjectDataSource1" DefaultMode="Edit" Height="50px" Width="125px">
        <Fields>
            <asp:ButtonField CommandName="update" Text="Update" />
        </Fields>
    </asp:DetailsView>
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="getAll" UpdateMethod="update" TypeName="BLL.Test"></asp:ObjectDataSource>


Alt fungerer fint - jeg kan slette fra overview-siden og hvis jeg trykker edit ud for en række åbnes edit-siden og jeg kan rette og gemme. Problemet er at det altid er id nummer 1 der vises i mit detailsview - hvordan får jeg detailsview til at læse id fra querystring og bruge det til at vælge den rette?
Hvis jeg bruger min getSPecificID-metode der tager ID som parameter får jeg fejlen: "ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'getSpecificBolig' that has no parameters."

- Jacob
Avatar billede websam Nybegynder
07. november 2006 - 13:51 #1
getSPecificID og getSpecificBolig er jo heller ikke ens, kan det være derfor ?`

/Websam
Avatar billede jriff Nybegynder
07. november 2006 - 14:04 #2
Nej - det er bare mig der ikke har rettet eksemplet ordentligt til :-( De er ens i min kode.
Avatar billede snepnet Nybegynder
07. november 2006 - 20:09 #3
Du kan bare tilføje en selectparameter til din object datasource, og benytte en querystringpameter.
<SelectParameters>
  <asp:QueryStringParameter Name="..." QueryStringField="..." DefaultValue="..." />
</SelectParameters>
http://quickstarts.asp.net/QuickStartv20/aspnet/doc/data/databases.aspx

Mvh
Avatar billede jriff Nybegynder
16. november 2006 - 11:36 #4
Kan du måske skrive et lidt mere detaljeret eksempel? Jeg kan ikke helt overskue hvordan det skal bruges... Jeg har kigget på dit link, men kan ikke finde det jeg skal bruge.

På forhånd mange tak.
Avatar billede snepnet Nybegynder
16. november 2006 - 12:48 #5
Jeg mener bare, at du kan gøre sådan her:

<asp:DetailsView ID="DetailsView1" runat="server"  DataSourceID="ObjectDataSource1" DefaultMode="Edit" Height="50px" Width="125px">
        <Fields>
            <asp:ButtonField CommandName="update" Text="Update" />
        </Fields>
    </asp:DetailsView>
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="getAll" UpdateMethod="update" TypeName="BLL.Test">
<SelectParameters>
  <asp:QueryStringParameter Name="id" QueryStringField="ID"/>
</SelectParameters>
</asp:ObjectDataSource>

Og du skal så benytte en metode i din bll-klasse der tager id som parameter istedet for gettAll()

Mvh
Avatar billede jriff Nybegynder
16. november 2006 - 18:55 #6
Det er så godt! Takker mange gange. Det er faktisk ret smart lavet i .NET 2.0. Jeg føler lidt at det slet ikke er nødvendigt at kunne kode mere - jeg skriver under halvt så meget C# som med 1.1. Smid et svar!
Avatar billede snepnet Nybegynder
17. november 2006 - 11:54 #7
:o) - det harmonerer meget fint med at asp.net gruppens mål med 2.0 var 70% kodereduktion for almindeligt forekommende opgaver.
Godt du fik det til at virke :o)
Mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester