PRB: Random ASP 0115 Errors when Submitting Form

ID: Q173741


The information in this article applies to:


SYMPTOMS

The following error occurs randomly when submitting a HTML form:

error 'ASP 0115'

Unexpected error

/<web name>/<asp file name>.asp

A trappable error occurred in an external object. The script cannot continue running.

Again, the error occurs randomly.


CAUSE

The following conditions cause the error to occur:

  1. The elements of the submitting form are not named. For example, <input type="Text"> instead of <input type="Text" name="textinput">.


  2. The form must have a "Input" or "Select" element. In other words, the form must pass values associated with the "Input" or "Select" tags to the server.


  3. You have code that accesses the Forms Collection from a second Active Server Pages (ASP) page. For example, the "Action" parameter of the "Form" tag points to an .asp file other than itself. And the code accesses the forms collection via 'Request.Forms("var")'. NOTE: at this time we have been unable to reproduce the error when the "Action" parameter points to itself -- the .asp file in which the form is defined.


  4. You have code that accesses memory; as in, 'Session("variable")=value'. This condition is very touchy, sometimes just changing the name of the variable will remove the symptoms.



RESOLUTION

Name each element--including the form itself--in the form.

-or-

Change the name of the variable, see condition 4 in the CAUSE section above.


STATUS

Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


MORE INFORMATION

Steps to Reproduce Behavior


  1. Create a Virtual Root (or project in VID).


  2. Add the two files below to the project.


  3. Preview the "Testvb.asp" in a browser.


  4. Repeatedly (anywhere from 1-20 times) click OK until the error occurs.
    
          =======frmsubmit.asp================
          <%@ LANGUAGE="VBSCRIPT" %>
    
          <HTML>
    
          <BODY>
    
          <form action="calendarcase.asp" method="POST">
    
             <input type="text" name="Month2" size="1">
             <input type="submit" value="OK" >
    
          </form>
    
          </BODY>
          </HTML>
          =========end frmsubmit.asp============
    
          ========frmaction.asp==============
    
          <%@ LANGUAGE="VBSCRIPT" %>
    
          <%
           'Access the forms collection
           mo=Request.Form("Month")
    
          'The below code -- setting the session variable -- is also necessary.
    I     ' suspect setting the session variable below just accesses the
          'corrupted forms collection memory and causes the error.
          Session("SelectedMonthNumber") = "1"
    
          response.redirect "testvb.asp"
          %>
    
          =========end frmaction.asp====================== 



REFERENCES

For the latest Knowledge Base articles and other support information on Visual InterDev and Active Server Pages, see the following page on the Microsoft Technical Support site:

http://support.microsoft.com/support/vinterdev/

Additional query words:


Keywords          : kbcode kbASP kbVBScript kbVisID kbGrpASP 
Version           : WINDOWS:1.0
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: May 10, 1999