2008-10-09 9 views
1

질문이 ASP.NET GridView 컨트롤에 있습니다. 아래에서 볼 수 있듯이 Columns 태그에 CommandField를 사용하고 있습니다.ASP.NET GridView CommandField 업데이트/취소가 적용되지 않습니다.

<asp:CommandField ShowEditButton="True" HeaderStyle-Width="40px" UpdateText="Save" ButtonType="Link" HeaderStyle-Wrap="true" ItemStyle-Wrap="true" ItemStyle-Width="40px"/> 
 

What renders is the shown in the following image (after I click on the Edit button). 

alt text http://i33.tinypic.com/5dpdad.jpg

당신은 내가 취소 링크가 새로운 라인을 표시하도록 노력하고 을 볼 수 있듯이 내 질문은 당신이해야합니까 어떻게? ButtonType = "Link"를 ButtonType = "Button"으로 변경하면 아래와 같이 올바르게 렌더링됩니다.

alt text http://i38.tinypic.com/2pqopxi.jpg

는 이미 구글을 시도하고 어쩌면 내가 올바른 태그를 검색하고 있지 않다 그러나 나는이 일 전에 해결 볼 수 없었다.

감사합니다. 감사합니다.

+0

이 당신의 이미지를 볼 수 없습니다 ... – Bryant

답변

3

템플릿 필드를 사용하면 페이지 모양을 완벽하게 제어 할 수 있지만 CommandName 및 가능한 CommandArgument 속성을 사용하고 GridView의 OnRowCommand를 사용해야합니다.

영문 페이지 : 뒤에

<asp:GridView id="gvGrid" runat="server" OnRowCommand="gvGrid_Command"> 
<Columns> 
    <asp:TemplateField> 
    <ItemTemplate> 
    Some Stuff random content 
    <br /> 
    <asp:LinkButton id="lbDoIt" runat="server" CommandName="Cancel" CommandArgument="SomeIdentifierIfNecessary" /> 
    </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</asp:GridView> 

코드 : 응답 브라이언트에 대한

protected void gvGrid_Command(object sender, GridViewCommandEventArgs e) 
{ 
if(e.CommandName=="Cancel") 
{ 
    // Do your cancel stuff here. 
} 

}

0

명령 필드를 사용하지 말고 TemplateField을 사용하고 원하는대로 명령 줄을 줄 바꿈 (br)과 함께 입력하십시오.

+0

감사합니다. 그러나 그것은 나를 위해 작동하지 않는 것 같습니다. 1 CommandField의 업데이트 단추에만 바인딩하는 방법을 찾을 수 없습니다. 2 CommandTemplate 또는 EditItemTemplate 내에 CommandField를 넣을 수 없습니다. 또한 나에게 걱정되는 것은 링크와 링크가 아닌이 링크가 작동하는 이유입니다! 곤충? – user26573