2011-06-29 2 views
1

J'ai une requête réussie qui retourne 8 éléments de la colonne REST_NAME du RESTAURANT db. J'ai une base de données réussie mais quand j'essaye d'accéder à l'article dans le LivtView je reçois une erreur: 'System.String' ne contient pas une propriété avec le nom 'REST_NAME'.Erreur de source de données ASP.Net LINQ est ListView

requête LINQ de données Couche d'accès:

public IEnumerable<string> getRestaurants(int cuisineID) 
{ 
    var restaurantList = from RESTAURANT in db.RESTAURANTs 
         where RESTAURANT.CUISINE_ID == cuisineID 
         orderby RESTAURANT.REST_NAME ascending 
         select RESTAURANT.REST_NAME; 
    return restaurantList; 
} 

Fonction dans la couche logique métier:

public class BLgetRestaurants 
{ 
    public IEnumerable<string> getRestaurants(int cuisineID) 
    { 
     DLgetRestaurants obj = new DLgetRestaurants(); 
     var restaurantList = obj.getRestaurants(cuisineID); 
     return restaurantList; 
    } 
} 

Raccrocher avant de la fonction de la couche d'affaires:

BLgetRestaurants obj = new BLgetRestaurants(); 
var restaurantListing = obj.getRestaurants(cuisineID); 
ListRestaurants.DataSource = restaurantListing; 
ListRestaurants.DataBind(); 

* Enfin, l'appel ListView pour obtenir les données REST_NAME: **

<ItemTemplate> 
    <div id="RestName"><%#Eval("REST_NAME") %></div><br /> 
    <div id="ListItems"> 
      <div id="RestCuisine">Cuisine: </div> 
      <div id="RestCity">Location: </div> 
      <div id="RestAvgRating">Average Rating: </div> 
      <div id="RestPrice">Price: </div> 
    </div> 
</ItemTemplate> 

Merci pour votre aide! ~ ~ susan

Répondre

5

Essayez

<div id="RestName"><%# Container.DataItem %></div><br /> 

Vous pouvez utiliser <%#Eval("REST_NAME") %> si vous avez affaire à IEnumerable<Restaurant> qui a REST_NAME comme l'un de ses champs. Mais puisque vous utilisez IEnumerable<string> vous ne pouvez pas faire cela.

+0

Merci! J'essaie de m'enseigner LINQ et j'ai eu un peu de difficulté. Votre aide a été grandement appréciée. – SUSAN

Questions connexes