MSSQL DB에서 동적으로로드 된 항상 다른 행을 포함하는 테이블이있는 ASP 페이지가 있습니다. 표의 각 행에서 세부 사항이라는 Button
을 작성했습니다. 세부 사항은 표 작성 중에 동적으로 작성됩니다. 이 세부 버튼은 다음 코드로 추가됩니다동적 생성 버튼의 포스트 백이 항상 실행되지는 않습니다.
Button detailsButton = new Button();
detailsButton.Height = new Unit("18px");
detailsButton.Width = new Unit("65px");
detailsButton.Text = "Details";
detailsButton.ID = row.ItemArray[0].ToString();
detailsButton.PostBackUrl = "~\\DetailsPage.aspx?selectedSignalling=" + detailsButton.ID;
//detailsButton.Click += detailsAgencyButton_Click;
//detailsButton.OnClientClick = "return true;";
table1cell4.Controls.Add(detailsButton);
table1row.Cells.Add(table1cell4);
의도는 하나 개의 버튼이 행을 눌렀을 때 포스트 백 URL으로 클라이언트를 리디렉션하는 것입니다. 포스트 백 URL은 각 버튼에 대해 동적으로 생성되며 각 버튼에 사용자가 세부 정보를 표시하도록 선택한 항목의 ID가 연결됩니다.
IIS 7.5를 실행하는 내 개발 환경에서 정상적으로 작동하지만 프로덕션 환경에서 IIS 6.0을 실행하고 업데이트 할 수없는 경우가 있습니다. IIS 6.0에서 일부 클라이언트는 세부 사항 페이지를 표시 할 수 없지만 자세히 단추를 클릭하면 포스트 백 URL이로드되지 않고 대신 현재 페이지를 다시로드하는 경우에만 문제가 발생합니다.
많은 설정 (detailsButton.Click
을 설정하고 OnClientClick
을 "return true;
"으로 설정)을 변경하려고 시도했지만 운이 없었습니다. 나는 단지 다음을 추가하는 것으로 나타났습니다 :
detailsButton.OnClientClick = "return true;";
명령 IIS 7.5에서도 리디렉션이 작동하지 않습니다. 따라서 OnClientClick
이 무언가 (true/false)를 반환하면 포스트 백이 활성화되지 않고 일부 클라이언트는 아마도 OnClientClick
을 반환하지 않고 포스트 백이 활성화 된 것처럼 보입니다.