2012-03-15 2 views
1

У меня есть объект, называемый PendingPartners, который имеет свойство навигации для объекта Residents. Я возвращаю информацию из этих объектов, как так:Удаление записи с использованием 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> 

Теперь, Я хочу сделать так, чтобы, когда кто-то нажимает кнопку «Удалить», он фактически удаляет эту запись из объекта - только часть PendingPartner, нет необходимости свертывать объект Resident.

Теперь, чтобы сделать это, я думаю, что мне нужно:

  1. Добавить столбец ID в запросе EntitySQL, например, Выберите p.id, r.person_name.
  2. Привяжите столбец идентификатора к ретранслятору как say CommandName или CommandArgument.
  3. Измените способ привязки текста - поскольку у ретранслятора теперь есть два столбца.

Я знаю, как обновить EntitySQL, но меня всегда путают с получением этой информации. в ретранслятор ... помочь?

ответ

1

Я думаю, ваша потребность использовать функцию связывания в ретранслятором

Текст кнопки использует «PERSON_NAME» и команда аргумент использует «идентификатор» и имя команды будет «удалить».

так:

<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> 
Смежные вопросы