2011-04-25 5 views
2

내 리피터 .. lnkEdit 및 lnkDelete ..에 링크 버튼이 있습니다. 내 질문은 내가 선택한 값을 지정하고 삭제하는 방법입니까?linkbutton을 사용하여 리피터에서 선택된 값을 얻는 방법은 무엇입니까?

protected void rptrInsurance_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 

    try 
    { 

     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 
      switch (e.CommandName) 
      { 
       case "Delete": 
        { 
         HCSInsurance oInsuranceDelete = new HCSInsurance(); 
         Insurance oInsurance = new Insurance(); 
         // oInsurance.InsuranceCode.ID = "2"; 
         oInsuranceDelete.DeleteInsurance(oInsurance); 
        } 
        break; 
       case "Edit": 
        { 

        } 
        break; 
       default: 
        { 

        } 
        break; 
      } 
     } 

    } 

    catch (Exception ex) 
    { 

    } 

} 

asp.net

<asp:LinkButton ID="lnkEdit" runat="server" onclick="lnkEdit_Click" CommandName="Edit">Edit</asp:LinkButton>&nbsp;<asp:LinkButton 
ID="lnkDelete" runat="server" onclick="lnkDelete_Click" CommandName="Delete" OnClientClick="if (!confirm('Are you sure do you want to delelte it?')) return false;">Delete</asp:LinkButton> 
      </td> 

답변

7

링크 버튼에서 commandArgument를 사용하십시오. 예 :

<asp:Repeater ID="rptrInsurance" runat="server" 
    OnItemCommand="rptrInsurance_ItemCommand"> 
    <ItemTemplate> 
<asp:LinkButton ID="lnkEdit" runat="server" CommandName="Edit" CommandArgument='<%# Eval("ID") %>'>Edit</asp:LinkButton>&nbsp; 
<asp:LinkButton ID="lnkDelete" runat="server" CommandName="Delete" CommandArgument='<%# Eval("ID") %>' OnClientClick="if (!confirm('Are you sure do you want to delelte it?')) return false;">Delete</asp:LinkButton> 
    </ItemTemplate> 
</asp:Repeater> 


protected void rptrInsurance_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    switch (e.CommandName) 
     { 
      case "Delete": 
       { 
        HCSInsurance oInsuranceDelete = new HCSInsurance(); 
        Insurance oInsurance = new Insurance(); 
        oInsurance.InsuranceCode.ID = e.CommandArgument; 
        oInsuranceDelete.DeleteInsurance(oInsurance); 
       } 
       break; 
      case "Edit": 
       { 

       } 
       break; 
      default: 
       { 

       } 
       break; 
     } 
} 
+0

위의 코드를 업데이트했습니다. 코드를 확인해 주셔서 감사합니다. –

+0

. 정말 도움이됩니다. –

1

버튼 실행 가능한 옵션에 CommandArgument인가 :

여기 내 코드입니까?

그렇지 않다면 e.Item.DataItem을 클릭하여 데이터 바인딩 된 항목의 사본을 얻은 다음 그 ID를 읽을 수 있어야합니다.

관련 문제