2011-09-08 8 views
0

열의 하나로서 확인란이있는 gridview가 포함 된 asp.net 3.5 응용 프로그램이 있습니다.Registerstartup 스크립트 실행 후 페이지 중단 방지

사용자가 체크 박스를 선택하지 않고 제출 버튼을 클릭하면 경고 메시지가 표시되어 사용자에게 버튼을 선택하라는 메시지가 표시됩니다.

경고를 발생시키는 코드는 다음과 같습니다.

System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
sb.Append(@"<script language='javascript'>"); 
sb.Append(@"alert('Please select at least one record!')"); 
sb.Append(@"</script>"); 
ScriptManager.RegisterStartupScript(upnlGrid, this.GetType(), "GridView", sb.ToString(), false); 
BindGrid(); 

경고가 발사 때까지, 난 괜찮아 "로드 중 ..."이미지 (아약스 업데이트 진행 표시 줄)을 참조하십시오. 그러나 경고가 발사 된 후에도 여전히 볼 수없는 동일한 이미지를 볼 필요가 있습니다. 이로 인해 페이지가 몇 초 동안 중단됩니다 (5-10 초). 5 ~ 10 초 동안 나는 Loading Image를 보여줄 필요가있다.

안내하십시오!

답변

0

포스트 백을 수행하기 전에 선택 항목의 유효성을 검사 해 볼 수 있습니다.

<asp:Button ID="Button1" runat="server" Text="Foo" OnClientClick="return validateGridSelection()" ... /> 

그리고 자바 스크립트 기능 : : 여기에 거친 예입니다 귀하의 의견 제임스

validateGridSelection = function() { 
    var itemsSelected = 0; 
    $("#<%=GridView1.ClientID%>").find("input:checkbox").each(function() { 
     if (this.checked) { 
      itemsSelected++; 
     } 
    }); 
    if (itemsSelected == 0) { 
     alert("Please select at least one checkbox."); 
    } 
    return true; 
} 
+0

감사합니다,하지만 내 쿼리는 경고를 해고하는 방법을하지만 경고 후 진행 표시 줄을 표시하는 방법 아니다 그리드가 완전히로드 (바인드) 될 때까지 실행됩니다. –

+0

포스트 백이 발생하기 전에 경고를 표시하면 진행 상황 표시 줄이 경고 뒤에 나타나야합니다. 관계없이 true를 반환하는 메서드를 변경해야한다고 생각합니다 (다시 게시를 수행하므로) –

+0

변경해야 할 사항은 무엇입니까? –

관련 문제