2011-08-29 4 views
0

내가 코드를 아래에 실행하려고하고 내가 말하는 오류가 점점 오전 :이름 '행은'현재 컨텍스트에 존재하지 않는

이름 '행'현재 컨텍스트에 존재하지 않는

코드

protected void wgrdSearchResult_RowCommand(object sender, GridViewCommandEventArgs e) 
     { 

      if (e.CommandName == "edit") 
      { 
       int index = Convert.ToInt32(wgrdSearchResult.DataKeys[row.RowIndex].Value); 

       //int index = Int32.Parse((string)e.CommandArgument); 
       string CustomerID = (string)wgrdSearchResult.DataKeys[index].Values["CustomerID"]; 
      } 


     } 

답변

0

row이라는 변수를 선언하지 않았으므로 index에 대한 할당이 실패합니다.

1

행이 메소드에 선언되지 않았습니다. 당신이하려고하는 것처럼 보이는 것을 보여주는 MSDN 예제를보십시오. 위의 링크에서 :

// Convert the row index stored in the CommandArgument 
    // property to an Integer. 
    int index = Convert.ToInt32(e.CommandArgument); 

    // Retrieve the row that contains the button clicked 
    // by the user from the Rows collection. 
    GridViewRow row = ContactsGridView.Rows[index]; 
+0

첫 번째로 CommandArgument는 계획처럼 들립니다. – CharithJ

0

이 시도 :

protected void wgrdSearchResult_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "edit") 
    { 
     int index = Convert.ToInt32(wgrdSearchResult.DataKeys[e.CommandArgument].Value); 

     string CustomerID = (string)wgrdSearchResult.DataKeys[e.CommandArgument].Values["CustomerID"]; 
    } 
} 

당신은뿐만 아니라의 GridView의 프런트 엔드에 대한 코드를 게재 할 수 있습니까? 내 코드에서는 하나의 DataKey (즉, CustomerID)가 있거나 여러 데이터 키가 GridView에 대해 설정되어 있다고 가정합니다. 여기서 첫 번째 데이터 키는 무의미하고 사용되지 않는 임의의 "인덱스"입니다. 두 번째 키는 의미있는 CustomerID입니다.

관련 문제