Microsoft KB Archive/173741

From BetaArchive Wiki

Article ID: 173741

Article Last Modified on 5/2/2006



APPLIES TO

  • Microsoft Visual InterDev 1.0 Standard Edition
  • Microsoft Active Server Pages 1.0



This article was previously published under Q173741

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:

Keywords: kbprb kbcode KB173741