2014-10-28 3 views
0
<asp:DetailsView Width="750" runat="server" ID="ctlApplicationEdit" DefaultMode="Edit" DataSourceID="applicationDataSourceDetails" DataKeyNames="ID" AutoGenerateRows="false" CssClass="EditApplicationWindow" OnModeChanged="OnApplicationChanged"> 
    <Fields> 

<!-- Does not work as expected: (Delete button is not shown) --> 

     <asp:CommandField ButtonType="Button" ShowEditButton="true" ShowDeleteButton="true" /> 

<!-- Works as expected: (Delete button is shown and calls the delete method when pressed)--> 

     <asp:TemplateField HeaderText="Delete"> 
      <ItemTemplate> 
       <asp:Button ID="deleteButton" runat="server" CommandName="Delete" Text="Delete"/> 
      </ItemTemplate> 
     </asp:TemplateField> 

    </Fields> 

</asp:DetailsView> 

ObjectDataSource에 DeleteMethod을 설정했으며 이는 TemplateField에서 예상대로 작동합니다.삭제 버튼이 표시되지 않는 이유는 무엇입니까?

내 질문 : 왜 명령 필드에는 취소 및 업데이트 버튼 만 표시되지만 삭제되지 않는 이유는 무엇입니까? 어떤 상황에서 이것이 일어날까요?

답변

0

DetailsView에서 자동으로 삭제 버튼을 생성해야하는 것처럼 보입니다.

<asp:DetailsView AutoGenerateDeleteButton="True|False" />

AutoGenerateDeleteButton 속성이 참으로 설정되어

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.autogeneratedeletebutton(v=vs.110).aspx는 않는 삭제 버튼으로있는 CommandField 행 필드 자동 DetailsView 컨트롤에 표시된다. 삭제 버튼을 클릭하면 해당 레코드가 데이터 소스에서 영구적으로 제거됩니다.

관련 문제