学习VS2005,做了一个练习,代码如下:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" 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" lang="gb2312">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<link href="Systel.css" rel="stylesheet" type="text/css" />
</head><body>
<div id="alldiv">
  <div id="headdiv">
      &nbsp;<asp:Menu ID="Menu1" runat="server" style="left: 0px; position: relative; top: 39px" BackColor="#F7F6F3" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#7C6F57" Height="18px" StaticSubMenuIndent="10px" Width="41px">
          <Items>
              <asp:MenuItem Text="首页" Value="首页">
                  <asp:MenuItem Text="企业简介" Value="企业简介"></asp:MenuItem>
                  <asp:MenuItem Text="组织机构" Value="组织机构"></asp:MenuItem>
              </asp:MenuItem>
          </Items>
          <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
          <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
          <DynamicMenuStyle BackColor="#F7F6F3" />
          <StaticSelectedStyle BackColor="#5D7B9D" />
          <DynamicSelectedStyle BackColor="#5D7B9D" />
          <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
          <StaticHoverStyle BackColor="#7C6F57" ForeColor="White" />
      </asp:Menu>
  </div>
  <div id="maindiv"></div>
  <div id="footdiv"></div>
</div>
</body>
</html>运行时出现如下错误:“/MyWebSite”应用程序中的服务器错误。
--------------------------------------------------------------------------------使用 Menu.StaticHoverStyle 要求 Page.Header 非空(例如 <head runat="server" />)。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 使用 Menu.StaticHoverStyle 要求 Page.Header 非空(例如 <head runat="server" />)。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[InvalidOperationException: 使用 Menu.StaticHoverStyle 要求 Page.Header 非空(例如 <head runat="server" />)。]
   System.Web.UI.WebControls.Menu.EnsureRenderSettings() +265
   System.Web.UI.WebControls.Menu.OnPreRender(EventArgs e, Boolean registerScript) +75
   System.Web.UI.WebControls.Menu.OnPreRender(EventArgs e) +49
   System.Web.UI.Control.PreRenderRecursiveInternal() +148
   System.Web.UI.Control.PreRenderRecursiveInternal() +233
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4437 
大家帮帮忙,谢谢!

解决方案 »

  1.   

    <head>
    改成
    <head runat="server" />
      

  2.   

    呵呵  body 也加上  runat = server
      

  3.   

    不是这个原因,div应该是在from内才可以,问题解决了。
      

  4.   

    LZ只要把基本知识搞清就可以了,aspx都有<form>标签包围,而且服务器控件都要在标签里面加上runat=server
      

  5.   

    每个页面必须有个runat="server",不管你这个放在哪里,但有服务器控件的地方,就得用
      

  6.   

    LZ只要把基本知识搞清就可以了,aspx都有<form>标签包围,而且服务器控件都要在标签里面加上runat=server每个页面必须有个runat="server",不管你这个放在哪里,但有服务器控件的地方,就得用
    ===========
    表要误导别人,要说,就请表达清楚服务器控件,自然需要指示 runat=server只有实现了 IPostBackEventHandler 才必须放在具有 runat=server 的 form 里面,
    就像 Button Menu TreeView DropDownList 这些控件,因为他们具有提交页面的功能(其实靠原始 html form 的功能)