2009-06-29 9 views
6

Ich versuche, eine Mitgliedsseite für das Aktualisieren von Kontodetails zu erstellen. Ich möchte ein Formular mit den Daten des Mitglieds ausfüllen, aber ich weiß nicht, wie Sie einen Filter für die EntityDataSource festlegen, um die Abfrage zu begrenzen.So füllen Sie ein aktualisierbares FormView von einer EntityDataSource mit Filter

Wenn ich die select-Anweisung basierend auf der Mitglieds-ID, erhalte ich die Fehler

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

Ich denke, das liegt daran, dass Sie nicht einen Vorsprung oder etwas aktualisieren kann, aber ist es trotzdem, um dieses ?

Oder muss ich eine Abfrage in Page_Load ausführen und das Formular selbst ausfüllen?

Antwort

13

Es gibt keine Notwendigkeit, die Auswahl, nur die Where-Klausel zu setzen. von Abfragezeichen

<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> 

Wenn die Parameter übergeben wird in:

Man könnte so etwas wie die folgenden tun. Es gibt mehrere andere integrierte Parametertypen.