Ошибка выбора оператора CASE - PullRequest
0 голосов
/ 06 июля 2011

У меня есть оператор SELECT CASE, который я пытаюсь заставить работать. По сути, я хочу запросить конкретные номера групп в нашей базе данных и показать соответствующую информацию с помощью включаемого файла. Я получаю сообщение об ошибке, но не могу определить причину ошибки ...

Правильно ли структурировано мое утверждение?

<% 
            select case session("memGroup")
            case "123456789","987654321"
            'Show forms for Company ABC
        %>

            <!--#include virtual="/members/_includes/formsABC.asp"-->

        <%             
            case "333333333","22222222","111111111" 
            'Show forms for Company DEF
        %>

            <!--#include virtual="/members/_includes/formsDEF.asp"-->

        <%
          end select
        %>
<!--then show forms for everyone else-->

<!--#include virtual="/members/_includes/formsEveryoneElse.asp"-->

1 Ответ

4 голосов
/ 06 июля 2011

ASP сначала обработает все включения, так что это не лучший способ сделать это, так как включения дорогие, я бы сделал что-то вроде этого:

<% 
    Select Case Session.Contents("memGroup")
        Case "123456789", "987654321":
            'Show forms for Company ABC
            Server.Execute("/members/_includes/formsABC.asp")
        Case "333333333", "22222222", "111111111":
            'Show forms for Company DEF
            Server.Execute("/members/_includes/formsDEF.asp")
        Case Else:
            Server.Execute("/members/_includes/formsEveryoneElse.asp")
    End Select
%>

http://msdn.microsoft.com/en-us/library/ms525849(v=vs.90).aspx http://www.4guysfromrolla.com/webtech/022504-1.shtml

В качестве примечания, если веб-сервер работает под управлением IIS 7 или более поздней версии, вам нужно изменить web.config, чтобы увидеть сообщения об ошибках ASP:

<configuration>
   <system.webServer>
      <asp scriptErrorSentToBrowser="true"/>
      <httpErrors errorMode="Detailed"/> 
   </system.webServer>
</configuration>

Также вам потребуетсяотключите «Показывать дружественные сообщения об ошибках HTTP» в Internet Explorer или используйте другой браузер для просмотра ошибки.

http://classicasp.aspfaq.com/general/why-do-i-get-a-500-internal-server-error-for-all-asp-errors.html

...