看vs2005教程作如下程序出错:类型“GridView”的控件“ctl00”必须放在具有 runat=server 的窗体标记内。
看vs2005教程作如下程序出错:类型“GridView”的控件“ctl00”必须放在具有   runat=server   的窗体标记内。 
  <asp:gridview   runat= "server ">  </asp:gridview>    
  <%@   Page   Language= "C# "   AutoEventWireup= "true "      CodeFile= "Default.aspx.cs "   Inherits= "_Default "   %>    
  <!DOCTYPE   html   PUBLIC    "-//W3C//DTD   XHTML   1.0   Transitional//EN "    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">    
  <html   xmlns= "http://www.w3.org/1999/xhtml "   >  
  <head   runat= "server ">  
              <title> 无标题页 </title>  
  </head>  
  <body>  
              <form   id= "form1 "   runat= "server ">  
              <div>  
                          <asp:GridView   ID= "GridView1 "   runat= "server "   DataSourceID= "SqlDataSource1 "   OnSelectedIndexChanged= "GridView1_SelectedIndexChanged ">  
                          </asp:GridView>  
                          <asp:SqlDataSource   ID= "SqlDataSource1 "   runat= "server "   ConnectionString= " <%$   ConnectionStrings:NorthwindConnectionString   %>  "   SelectCommand= "SELECT   [CustomerID],   [CompanyName],   [City]   FROM   [Customers] ">  </asp:SqlDataSource>                
              </div>  
              </form>  
  </body>  
  </html>      
 错误信息: 
 “/WebSites”应用程序中的服务器错误。 
 --------------------------------------------   
 类型“GridView”的控件“ctl00”必须放在具有   runat=server   的窗体标记内。
------解决方案--------------------请注意你贴的代码最上面有一个 
  <asp:gridview runat= "server ">  </asp:gridview>  
 放在这里是不多的,而且它还没有id,把这个标记删除了就没有问题了
------解决方案--------------------莫名其妙,楼主贴的代码完全没问题的。 
 除了 <asp:gridview runat= "server ">  </asp:gridview> 搞不清是干什么的以外。   
 从 <@ Page 开始的代码一点问题都没有。 
------解决方案--------------------如果这一句  <asp:gridview runat= "server ">  </asp:gridview>  也是程序的一部分,去掉它
------解决方案--------------------JF UP