学习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">
<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
大家帮帮忙,谢谢!
<%@ 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">
<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
大家帮帮忙,谢谢!
改成
<head runat="server" />
===========
表要误导别人,要说,就请表达清楚服务器控件,自然需要指示 runat=server只有实现了 IPostBackEventHandler 才必须放在具有 runat=server 的 form 里面,
就像 Button Menu TreeView DropDownList 这些控件,因为他们具有提交页面的功能(其实靠原始 html form 的功能)