2009-06-29 8 views
6

J'essaie de créer une page de membre pour mettre à jour les détails du compte. Je veux remplir un formulaire avec les données du membre, mais je ne sais pas comment définir un filtre sur EntityDataSource pour limiter la requête.Comment remplir un FormView modifiable à partir d'un EntityDataSource avec un filtre

Quand je mets l'instruction select en fonction de l'ID de membre, je reçois l'erreur

Select cannot be set if EnableDelete, EnableInsert, or EnableUpdate is enabled.

Je pense que cela est parce que vous ne pouvez pas mettre à jour une projection ou quelque chose, mais il est là de toute façon autour de cette ?

Ou dois-je exécuter une requête dans Page_Load et remplir moi-même le formulaire?

Répondre

13

Il n'est pas nécessaire de définir la clause select, uniquement la clause where.

Vous pouvez faire quelque chose comme ce qui suit:

<asp:EntityDataSource ID="MyDataSource" EntitySetName="Entity1" runat="server" 
    ConnectionString="name=MyEntitiesConnString" EnableUpdate="true" 
    DefaultContainerName="MyEntities" Where="it.MemberId= @MemberId" > 
     <WhereParameters> 
      <asp:QueryStringParameter DbType="Int32" Name="memberId" QueryStringField="memberid" /> 
     </WhereParameters> 
</asp:EntityDataSource> 

Si le paramètre est transmise par querystring. Il existe également plusieurs autres types de paramètres intégrés.

Questions connexes