BUG: "Expected Identifier" Error Message on Default.aspx ASP.NET Page (315990)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework) 1.0
  • Microsoft ASP.NET (included with the .NET Framework 1.1)
  • Microsoft Visual C# .NET (2002)
  • Microsoft Visual C# .NET (2003)

This article was previously published under Q315990

SYMPTOMS

When you browse to a WebForm that is named Default.aspx and was created with Microsoft Visual Studio .NET, you receive the following error message:
A Runtime Error has occurred.
Do you wish to Debug?

Line: 19
Error: Expected identifier
This error occurs when server controls that cause a PostBack are present in a WebForm that was created with the C# language.

CAUSE

The C# WebForm outputs illegal JavaScript to the client. The C# WebForm outputs an HTML form named "default" and then references that form with "document.default".

For example:
<form name="default" method="post" action="default.aspx" id="default">
<script language="javascript">
    var theForm = document.default;
</script>
</form>
				
In JavaScript, "document.default" is an illegal usage of the keyword "default". Therefore, the browser displays a run-time error.

This illegal code is generated by any control that performs a PostBack.

RESOLUTION

To work around this problem, rename the form in the Default.aspx WebForm by following these steps:
  1. Open Default.aspx in Visual Studio .NET designer.
  2. Click the HTML tab to view the HTML code.
  3. Change the following HTML code
    <form name="default" method="post" action="default.aspx" id="default">
    					
    to the following code:
    <form name="defaultA" method="post" action="default.aspx" id="default">
    					

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce the Problem

  1. Open Microsoft Visual Studio .NET.
  2. On the File menu, point to New, and then click Project.
  3. In the New Project dialog box, click Visual C# Projects under Project Type, and then click ASP.NET Web Application under Templates.
  4. In the Location text box, type the project name as TestApplication by replacing the default 'WebApplication#' name in the URL path.
  5. Add a LinkButton server control to WebForm1.aspx.
  6. On the File menu, click Save.
  7. On the Build menu, click Build Solution.
  8. In the Solution Explorer window, right-click WebForm1.aspx, and then click View in Browser.

Modification Type:MajorLast Reviewed:3/26/2003
Keywords:kbbug kbIDEProject kbnofix kbServerControls kbWebForms KB315990