Toon posts:

[c#] Linqdatasource + contains

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,
ik wil een linqdatasource met een "where" waarin een contains(@param) staat.

code:
<asp:LinqDataSource ID="LinqDataSourceevent" runat="server" ContextTypeName="DatabaseEventsDataContext"
TableName="vwAllEvents" Where="EventID = @eventid && EventTypeNaam = @eventtypenaam && Locatienaam.Contains(@locatienaam) && EventNaam = @eventnaam"
Select="new (EventID, EventNaam, EventDate, EventThumbPath, EventTypeID, Locatienaam, EventTypeNaam)"
OrderBy="EventDate">
<WhereParameters>
<asp:Parameter ConvertEmptyStringToNull="false" Name="locatienaam" />
</WhereParameters>
</asp:LinqDataSource>

Ik blijf maar de fout krijgen: "No applicable method 'Contains' exists in type 'String'"
Nochtans staat mijn ConvertEmptyStringToNull op false?

heeft iemand raad?

Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 25-09 07:46

NielsNL

DigiCow

Verwijderd schreef op zaterdag 27 december 2008 @ 19:09:
Hallo,
ik wil een linqdatasource met een "where" waarin een contains(@param) staat.

code:
<asp:LinqDataSource ID="LinqDataSourceevent" runat="server" ContextTypeName="DatabaseEventsDataContext"
TableName="vwAllEvents" Where="EventID = @eventid && EventTypeNaam = @eventtypenaam && Locatienaam.Contains(@locatienaam) && EventNaam = @eventnaam"
Select="new (EventID, EventNaam, EventDate, EventThumbPath, EventTypeID, Locatienaam, EventTypeNaam)"
OrderBy="EventDate">
<WhereParameters>
<asp:Parameter ConvertEmptyStringToNull="false" Name="locatienaam" />
</WhereParameters>
</asp:LinqDataSource>

Ik blijf maar de fout krijgen: "No applicable method 'Contains' exists in type 'String'"
Nochtans staat mijn ConvertEmptyStringToNull op false?

heeft iemand raad?
Oftewel je kunt in je string niet de methode Contains gebruiken.... Verder lijkt het te kloppen.

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
raar, op internet vind ik nochtans genoeg voorbeelden waar het wel lukt en voor zover ik weet zit Contains toch wel in string?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zaterdag 27 december 2008 @ 22:48:
raar, op internet vind ik nochtans genoeg voorbeelden waar het wel lukt en voor zover ik weet zit Contains toch wel in string?
Kwestie van even opzoeken lijkt me, dan weet je het zeker en hoef je niet te vragen ;)

Verder: als je code post, gebruik dan code tags aub.

Nu ben ik nog steeds nooit echt toegekomen aan het me verdiepen in Linq helaas, maar is contains wel wat je wil? Moet je geen "like" of iets dergelijks gebruiken?
Ah, contains lijkt wel te zijn wat je zoekt... maar pin me er niet op vast :P Een ander shot in the dark: locatienaam lijkt me, gezien de naam, van het type string, maar is dat ook echt zo?

[ Voor 30% gewijzigd door RobIII op 27-12-2008 23:02 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sorry voor de code tags.
Contains vervangt inderdaad de Like functie.
Het heeft te maken met het feit dat hij een contains wil doen op een string die leeg of "null" is. Maar daarvoor heb ik ConvertEmptyStringToNull op false gezet... dit blijkt dus niet te werken

Acties:
  • 0 Henk 'm!

  • king_charles
  • Registratie: Maart 2008
  • Laatst online: 15-08-2023
Volgens mij is System.Linq niet standaard benaderbaar via een .aspx pagina. Hierdoor zegt hij de functie niet te kennen.

Dit kun je toevoegen in de web.config, maar kan nog even niet vinden hoe dat precies gaat.

Op deze site: web.config namespace staat hoe je namespaces kunt toevoegen aan je web.config zodat de klassen en functies daarvan benaderbaar zijn in aspx pagina's. Op deze manier System.Linq toevoegen en hij zou contains moeten herkennen.

[ Voor 42% gewijzigd door king_charles op 28-12-2008 06:46 ]


Acties:
  • 0 Henk 'm!

  • bastv
  • Registratie: September 2005
  • Laatst online: 25-09 12:42
moet je bij een whereparameter niet altijd type opgeven?
<asp:Parameter ConvertEmptyStringToNull="false" Name="locatienaam" Type="String" />
Pagina: 1