gpt4 book ai didi

asp.net - 将 HTML 放入 ASPX - 可能吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:21:08 25 4
gpt4 key购买 nike

我有一个像这样开始的 aspx 页面:

<%@ Page Language="C#" MasterPageFile="~/Main_MP_Teacher.master" AutoEventWireup="true" CodeFile="default.aspx.cs"
Inherits="Teacher_default" Title="Teacher Page" %>

我也想在此页面中包含 html,但是当我放入第一行时

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">

我收到一个解析错误。我做错了什么?

最佳答案

解析器错误可能是因为您输入了 <asp:ContentPlaceHolder> 以外的内容在您的 ASPX 页面的根目录中。

如果您使用的是 MasterPageFile然后是 <!DOCTYPE应该在 MasterPage 的开头。

这是除非你有 <asp:ContentPlaceHolder>就在 MasterPage 的开头,你可以把 <!DOCTYPE进入其中。

更多信息

<!DOCTYPE应该始终是 HTML 文件中的第一件事,所以通常您的 MasterPage 看起来像这样......

<%@ Master Language="VB" CodeBehind="MyMaster.master.vb" Inherits="dev.MyMaster" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html>
<head>
<asp:ContentPlaceHolder runat="server" id="myHeader"/>
</head>
<body>
<form id="form1" runat="server">
<asp:ContentPlaceHolder runat="server" id="myBody"/>
</form>
</body>
</html>

如果出于某种原因你想让页面指定文档类型,那么你可以在开头添加一个新的占位符,并使用默认值...

<%@ Master Language="VB" CodeBehind="MyMaster.master.vb" Inherits="dev.MyMaster" %>
<asp:ContentPlaceHolder runat="server" id="myDocType">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
</asp:ContentPlaceHolder>
<html>
...
</html>

然后在您要覆盖的页面中放置以下内容(通过不覆盖,将输出原始文件)...

<%@ Page Language="vb" MasterPageFile="MyMaster.master" Codebehind="MyPage.aspx.vb"
Inherits="dev.MyPage" Title="My Page" %>
<asp:Content runat="server" ContentPlaceHolderId="myDocType">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
</asp:Content>
...

关于asp.net - 将 HTML 放入 ASPX - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com