2017-12-11 19 views
0

버튼이 Gridview 안에 있습니다. 단추의 색상을 변경하기 만하면됩니다. 그러나 페이지를 게시 한 후 버튼을 클릭해도 아무런 변화가 없습니다. 단계가 없습니다. 여기 Gridview 내부에 버튼 속성 설정

내에서 .aspx 코드

<asp:GridView id="gvStatus" runat="server" AutoGenerateColumns="false" BorderWidth="1px" BackColor="White" CellPadding="3" CellSpacing="2" BorderStyle="Solid" BorderColor="Black" GridLines="Both" Pager="10" OnRowDataBound="setcolor" OnRowCommand="setsingle" > 
     <Columns> 
       <asp:TemplateField HeaderText="1" Visible="true" HeaderStyle-CssClass= "hdrBase" ItemStyle-CssClass="GridBase"> 
        <ItemTemplate> 
         <asp:Button id="btnDOne" Width="35px" Height ="25px" runat="server" Text='<%#(Eval("dateone", "{0:ddd}"))%>' CommandName="GetData" CommandArgument="<%#((GridViewRow) Container).RowIndex %>" ></asp:Button> 
        </ItemTemplate> 
       </asp:TemplateField>   
     </Columns> 
    </asp:GridView> 

입니다 그리고 여기에 코드가있는 gridview에하는 LinkButton을 추가 일하는 경우

 protected void setsingle(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "GetData") 
      { 
       //Get row index 
       int rowindex = Convert.ToInt32(e.CommandArgument); 
       ////Get Row 
       GridViewRow gvr = gvStatus.Rows[rowindex]; 
       //Find the button 
       Button DayButton = gvr.FindControl("btnDOne") as Button;  
       //Set the color of the button 
       DayButton.BackColor = Color.Cyan; 
      } 

테스트에 대한 C#을하고 그것을 같은 명령 이름을 주었다

  <asp:TemplateField HeaderText="1" Visible="true" HeaderStyle-CssClass= "hdrBase" ItemStyle-CssClass="GridBase"> 
       <ItemTemplate> 
        <asp:Button id="btnDOne" Width="35px" Height ="25px" runat="server" Text='<%#(Eval("dateone", "{0:ddd}"))%>' CommandName="GetData" CommandArgument='<%# Container.DataItemIndex %>' ></asp:Button> 
        <asp:LinkButton id="lbd1" runat="server" Text="clickme " CommandName="GetData" CommandArgument='<%# Container.DataItemIndex %>'/> 
       </ItemTemplate> 
      </asp:TemplateField> 

그래서 linkbutton은 아무런 문제가없는 코드를 실행합니다. 그러나 명령 단추는 아무 것도 실행하지 않습니다. 마지막 코드 조각에서 두 가지를 비교하고 기본적으로 CommandArgument까지 명령 단추를 linkbutton과 일치시키는 것으로 알 수 있습니다.

나는 배후 코드가 작동하는지 확인하고 CommandName 할당이 정확한지 확인했습니다. 명령 단추에 대해이 작업을 수행하는 다른 방법이 있습니까?

+0

'setsingle'에 중단 점을 설정 했습니까? –

+0

버튼 클릭 트리거'PostBacks' asp.net 컨트롤에 속성을 추가하는 방법에 대한 예제가 많이 있습니다. – MethodMan

+0

@Tim을 참조하십시오. 중단 점을 설정했는데 코드가 정상적으로 작동합니다. 결과가 업데이트되어 믿습니다. 나는 전자 명령 단추에 뭔가를 놓치고 무엇을 확실하지 않습니다. – Tommy

답변

0

명령 단추를 버리고 링크 단추로 이동 한 다음 필요에 따라 표 셀의 배경색을 설정했습니다.