ASP.NET WebForms "Identifier expected" 错误

ASP.NET WebForms "Identifier expected" error

我将这行代码添加到我的 ASP.NET Web Forms 应用程序中:

<link rel="stylesheet" href="css/icomoon.css" media="print" onload="this.media='all'">

此代码位于 Site.Master 母版页中。

我现在收到一个错误:

Identifier Expected

如果我删除媒体和加载属性没有错误:

<link rel="stylesheet" href="css/icomoon.css">

有人知道如何解决这个问题吗?似乎与在服务器上解析 onload 有关的某种问题我只是不知道如何逃避它。任何帮助将不胜感激。

我找不到可以描述为什么会发生这种情况的文章。我只是对其进行测试,如果它能解决您的问题,这就是我与您分享它的原因。

你的 Site.Master、<asp:PlaceHolder runat="server">...</asp:PlaceHolder><head>...</head> 里面有这样的东西吗?
如果没有尝试在 <head>..</head> 中创建一个,如果是,请将 link 放入此 <asp:PlaceHolder runat="server">...</asp:PlaceHolder>.

<head runat="server">

   ...

    <asp:PlaceHolder runat="server">
        ...
        <link rel="stylesheet" href="css/icomoon.css" media="print" onload="this.media='all'">
        ...
    </asp:PlaceHolder>

    ...

</head>

就像您发现的那样,在 CSS link 标记中使用 onload 在 MASTER 页面的头部部分使用时会出错。

要消除错误,请将 CSS 放在主页上 body 标签的正下方。在我这边进行了测试,效果很好。

 <body>
  <link rel="stylesheet" href="css/icomoon.css" media="print" onload="this.media='all'" />
   <%- other code --%>
 </body>