2012-03-15 17 views
1

私は、Residentsエンティティへのナビゲーションプロパティを持つPendingPartnersというエンティティを持っています。私はそうのように、これらのオブジェクトからの情報を返すよ:あなたは上記を参照できるように、データは、その後、リピータにバインドされているASP.NET RepeaterとEntity Frameworkを使用したレコードの削除

Dim getSent = (From p In dbContext.PendingPartners _ 
         Join r In dbContext.Residents _ 
         On p.people_id_des Equals r.people_code_id _ 
         Where p.people_id_ini = people_id _ 
         Where p.semester = semester _ 
         Where p.year = year _ 
         Select r.person_name).Distinct 
     rptrSent.DataSource = getSent 
     rptrSent.DataBind() 

いるが、このようなコードコントロール:今

<asp:Repeater ID="rptrSent" runat="server"> 
      <ItemTemplate> 
       <asp:Button ID="btnDeletePartner" runat="server" 
        Text="<%# Container.DataItem %>" /> 
       <br /> 
      </ItemTemplate> 
     </asp:Repeater> 

を、誰かがDeleteボタンをクリックすると、実体からそのレコードを削除するようにしたいのです - PendingPartner部分だけです。Residentオブジェクトにロールアップする必要はありません。これを行うには、今

、私は私がする必要があると思う:

  1. は、例えば、EntitySQLクエリにID列を追加します。 p.id、r.person_nameを選択します。
  2. ID列をCommandNameまたはCommandArgumentのようにリピータにバインドします。
  3. リピーターに2つの列があるため、テキストのバインド方法を変更します。

私はEntitySQLを更新する方法を知っていますが、私はいつもこの情報を得ることと混乱します。リピーターに...助けて?

答えて

1

私は、ボタンのテキストは、「人名」を使用して、コマンドの引数は、「ID」を使用して、コマンド名が「削除」になり、リピータに

をバインド機能を使用するために必要だと思います。そのような

<asp:Repeater ID="rptrSent" runat="server"> 
     <ItemTemplate> 
      <asp:Button ID="btnDeletePartner" runat="server" 
       Text='<%# bind("person_name") %>' CommandArgument='<%# bind("id") %>' CommandName="Delete" /> 
      <br /> 
     </ItemTemplate> 
    </asp:Repeater> 
関連する問題