2011-03-02 6 views
1

현재 배경 : 데이터베이스에 연결된 ASP.NET VB 양식이 있습니다. 데이터베이스에는 TourCount라는 필드가 있습니다. 이 수는 사용자가 양식을 제출할 때마다 1 씩 무시합니다.등록 조회수가 0 일 때 메시지 표시

목표 다음 TourCount이 0에 도달하면 는, 모든 등록을 닫아야합니다. 그러나 현재 TourCount는 계속 음수로 수치심을 표현하고 있습니다. TourCount가 0에 도달하면 "등록 마감"이라는 양식 위에 메시지를 표시하고 싶습니다.

현재 시도 : 나는 몇 가지 시도를했지만 어디로 가고 있는지 확신하지 못합니다. 구성 오류 메시지가 나타나지 않지만 제대로 작동하지 않습니다. 어떤 스크립트 유형을 사용해야하는지 잘 모르겠습니다. 내 논리에 따르면 TourCount가 0보다 작거나 같으면 "Message"라는 ID를 통해 텍스트 문자열을 표시합니다.

 <asp:SqlDataSource id="SqlDataSrcTourCount" runat="server" ConnectionString="<%$ ConnectionStrings:recruitmentConnectionString %>" SelectCommand = "SELECT [TourCount] FROM [tourdates] WHERE [TourType] = @TourType AND [TourDatesAvailable] = @TourDates" ProviderName="System.Data.SqlClient" UpdateCommand="UPDATE [tourdates] SET [TourCount] = ([TourCount] - 1) WHERE [TourType] = @TourType AND [TourDatesAvailable] = @TourDates"> 
      <SelectParameters> 
       <asp:Parameter Name="TourType" DefaultValue="JobFair"></asp:Parameter> 
       <asp:Parameter Name="TourDates" Type="String"></asp:Parameter> 
      </SelectParameters> 
      <UpdateParameters> 
       <asp:parameter Name="TourType" DefaultValue="JobFair"></asp:Parameter> 
       <asp:parameter Name="TourDates" Type="String"></asp:Parameter> 
      </UpdateParameters> 
     </asp:SqlDataSource> 

     <script type="text/javascript"> 
      If (TourCount <= 0) { 
       document.getElementById("Message").style.display = "inline"; 
       return true; 
      } 
      else { 
       document.getElementById("Message").style.display = "none"; 
       return false; 
      } 
     </script> 

In the HTML: <span id="Message">-Closed-</span> 

누구든지 진행 방법에 대한 통찰력을 제게 제공 할 수 있다면 정말 감사드립니다. 독서에 많은 시간을 내 주셔서 감사합니다.

+0

칠 때 closed.asmx 페이지로 이동됩니다 자바 스크립트를 사용하는 것

유일한 것은. 아마도 ID를 통해 메시지를 표시하지 않습니다. 대신 제출 후 closed.aspx라는 다른 페이지로 리디렉션합니다. 그래도 이건 같은 algorythm인가요? 같은 개념일지도 ... – creativeedg10

답변

0

궁금한데, 왜 이것을 자바 스크립트로 사용하고 있습니까?

내가 당신이라면 TourCount 다른 = 0 가 다시 TourCount를 얻을 수 제출 버튼을 누르면 (이것은 그 동안 변경 한 수 있다면 단순히 closed.asmx에 PageLoad 이동에 TourCount를 얻을 것) 여전히> 0 인 경우 등록을하고 TourCount를 줄입니다. 0이 '너무 느린 느리게'페이지로 이동하면. 나는 동적으로 TourCount x 초마다 새로 고침하고 자동으로 또 다른 아이디어는 단지 마음에 와서 0

+0

도와 줘서 고마워. ASP에 익숙하지 않고 모든 개념을 이해하지 못하기 때문에 조금 연구해야 할 것입니다. PageLoad Navigate에 익숙하지 않습니다. – creativeedg10

+0

나는 오프 가능성이 방법을 해요,하지만 이것은 더 정확한 방향 : <스크립트 RUNAT = "서버"유형 = "텍스트/VB"> \t 경우 System.EventArgs으로 하위 객체로 btnInsert_Click (ByVal의 보낸 사람, ByVal의 전자 보호) \t 나는, (TourCount = 0) { Response.Redirect를 (closed.aspx은? t이 jobfair "거짓을) = 경우 \t \t \t이 종료 – creativeedg10

+0

어를 시도 청산 페이지로 전달 \t \t를 '시도 스택 오버플로도 새로 추가되었습니다. 코드가 끔찍한 것처럼 보입니다. 여기 텍스트에 대한 의견, 내 질문을 작성할 때 할 수있는 자세한 기능은 없습니까? 그 페이스트에 추한 것에 대해 죄송합니다. – creativeedg10

관련 문제