在Chrome/Edge运行ASP.Net页面时出现StartTag无效元素名错误求助
解决ASP.NET页面在Chrome/Edge中出现“StartTag: invalid element name”错误的方案
问题描述
在Chrome或Edge浏览器中运行ASP.NET页面时,触发错误:error on line 1 at column 2: StartTag: invalid element name,但该页面在Visual Studio中运行正常,且已检查过IIS相关设置。报错对应的代码行:
<%@ Page Title="Risk Calculator" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DynamicMenu2._Default" %>
可能的解决方法
- 匹配应用程序池与项目的.NET版本:确保IIS站点对应的应用程序池使用的.NET Framework版本和项目目标版本完全一致。版本不匹配会导致服务器无法解析ASP.NET的服务器指令,直接将代码原封不动返回给浏览器,被识别为无效HTML标签。
- 启用IIS的ASP.NET模块:打开IIS管理器,进入对应站点的“功能视图”,确认“ASP.NET”功能处于启用状态。未启用该模块时,服务器不会处理页面中的
<%@ Page %>这类服务器端指令,浏览器收到原始代码后会触发解析错误。 - 移除文件的UTF-8 BOM:用文本编辑器(如Notepad++)打开出错的aspx文件,检查文件开头是否存在UTF-8字节顺序标记(BOM)。如果有,将文件重新保存为“UTF-8 无BOM”格式,BOM字符会干扰服务器对Page指令的解析,导致输出内容异常。
- 调整应用程序池托管管道模式:对于.NET Framework 4.0及以上版本的项目,将应用程序池的“托管管道模式”设置为“集成”模式,经典模式下可能存在指令解析兼容问题;同时确保应用程序池的运行身份拥有读取项目文件目录的权限。
- 重新注册ASP.NET到IIS:以管理员身份打开命令提示符,运行对应.NET版本的注册命令。例如针对.NET Framework 4.x,执行:
该命令会重新建立ASP.NET与IIS的关联,修复可能存在的配置异常。%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
内容的提问来源于stack exchange,提问作者Donald
相关产品推荐
相关产品推荐

