다음 코드와 RaisePostBackEvent 함수를 사용하여 GridView 클릭 가능 행을 만들었습니다.GridView에서 DropDownList를 포함하는 행을 클릭 가능하게하고 DropDownList를 분리합니다.
protected void gvResults_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(this, e.Row.RowIndex.ToString()));
}
}
GridView에는 셀 중 하나에 대한 DropDownList 컨트롤도 있습니다. 문제는 선택을 변경하기 위해 DropDownList를 클릭하면 행의 onclick이 트리거된다는 것입니다. 이로 인해 DropDownList에 대한 옵션 목록이 표시되지만 행에 대한 onclick도 처리 되었기 때문에 사용할 수 없습니다.
DropDownList의 onmouseover에 플래그를 설정하고 RaisePostBackEvent 함수에서 플래그를 확인했지만 부분적으로 성공했습니다. 이로 인해 RaisePostBackEvent의 기능이 차단되었지만 행 onclick이 계속 발생하여 DropDownList가 여전히 사용할 수없는 상태에 있음을 의미합니다.
그래서 행의 다른 부분을 클릭 할 때 onclick이 계속 작동하도록하면서 DropDownList 함수를 만들려면 어떻게해야합니까?
참고 : 현재 .NET 2.0에서 작업 할 수 없습니다.
이 게시물보기 : http://stackoverflow.com/questions/6491627/prevent-table-row-onclick-event-to-fire-when-clicking-button-inside-therow – jmaglio