2011-08-22 4 views
1

DataGrid에 대한 링크 단추가 모눈 데이터 편집 용으로, 모달 폼로드 용 OnClientClick 이벤트를 사용하고 있습니다. 편집 데이터를 컨트롤에로드하기 위해 GRID의 이벤트 함수 onSelectedIndexChanged을 사용합니다. ,ASP.Net에서 클라이언트 측 코드를 실행하기 전에 서버 측 코드를 실행하는 것이 가능합니까?

 function EditDialog(){ 
     $('#newTeam').dialog("open"); 
     alert(document.Team.txtTeamCode.value);   
     document.getElementById("cvCode").innerHTML = ''; 
     document.Team.txtTeamCode.focus();     
    }   

protected void GetSelectedData(Object src, EventArgs e) 
{ 
    String Team_Id = GridView1.DataKeys[GridView1.SelectedIndex].ToString(); 
    using (MySqlConnection DbConnection = new MySqlConnection(ConfigurationManager.AppSettings["ConnectionStr"])) 
    { 
     DbConnection.Close(); 
     string cmdText = "SELECT Team_Id,Team_code,Team_Name FROM Team_Details WHERE Team_Id=?Id"; 
     MySqlCommand cmd = new MySqlCommand(cmdText, DbConnection); 
     cmd.Parameters.Add("?Id", MySqlDbType.Int32).Value = Convert.ToInt32(Team_Id); 
     DbConnection.Open(); 
     MySqlDataReader DR = cmd.ExecuteReader(); 
     while (DR.Read()) 
     { 
      this.txtTeamCode.Text = DR.GetValue(1).ToString(); 
      this.txtTeamName.Text = DR.GetValue(2).ToString(); 

     } 
    } 
} 

모달 창을 호출하는 클라이언트 측 코드를 볼 수

아래의 서버 측 코드를 볼 수있는 문제, 모달 폼, 필드 (팀 코드 & 팀 이름을 저런 애 동안)가 비어 있습니다. 이 문제를 해결할 수있는 해결책을 제공해주십시오.

+0

마지막으로 서버 코드 –

+2

에서 RegisterStartupScript를 사용할 수 있습니다. 게시물의 제목도 다시 생각하고 싶을 수 있습니다. 서버 측 코드 _always_가 클라이언트 _ 코드 _ 클라이언트 _ 코드 _보다 먼저 _ 서버 _에서 _ 먼저 _ 실행되기 때문입니다. – nnnnnn

답변

3

AJAX 요청을 사용하여 모달 팝업 필드를 채울 수 있습니다. 필요한 데이터 항목을 반환하고 이에 따라 GUI를 수정하는 객체/서비스를 호출 할 수 있습니다.

JQuery의 get() 기능을 살펴보십시오. 유용성을 위해 비동기 적으로이 작업을 수행하는 것이 가장 좋습니다. 가능한 구현을 제공하는

Here's a decent tutorial

당신은 httphandlers의 또는 이전 사용자 언급 메이크업 아약스 호출로 사용을 할 수

0

HTH. Pagemethods을 사용하여 javascript에서 서버 측 코드를 호출 할 수도 있습니다.

관련 문제