去除aspx生成的页面最开始的空行
使用.aspx生成的页面一般都会有一个或多个空行,当然这些空行不会影响页面在浏览器中的渲染结果,不过在查看源代码的时候感觉有些别扭,我曾试着去删除这些空行,但没有成功,你知道你们有没有去尝试。
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %> 2 3 <!DOCTYPE html> 4 <html> 5 <head runat="server"> 6 <title></title> 7 </head> 8 <body> 9 <div> 10 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 11 </div> 12 </body> 13 </html> 14
生成后的页面:
1 2 3 <!DOCTYPE html> 4 <html> 5 <head><title> 6 7 </title></head> 8 <body> 9 <div> 10 <span id="Label1">170</span> 11 </div> 12 </body> 13 </html> 14
不过在看到使用.cshtml生成的页面之后我想到应该有解决方案了。通过比较cshtml和.aspx页面,我发现.aspx页面多了下面关键的一行:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %>
可以把它删除吗?当然不行,好多东西都在这里赋值的。那么是否可以移动它,让<!DOCTYPE html>在第一行呢?好吧,把它移动到<!DOCTYPE html>之后,再删除空行
1 <!DOCTYPE html> 2 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %> 3 <html> 4 <head runat="server"> 5 <title></title> 6 </head> 7 <body> 8 <div> 9 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 10 </div> 11 </body> 12 </html>
生成的页面如下
1 <!DOCTYPE html> 2 3 <html> 4 <head><title> 5 6 </title></head> 7 <body> 8 <div> 9 <span id="Label1">170</span> 10 </div> 11 </body> 12 </html>
<!DOCTYPE html>之前的空行删除了,但<!DOCTYPE html>的<html>之间多了空行了。其实我们可以把<%@ Page %>移动到<head runat="server">里,因为.aspx编译器会把里面的所有元素编译成HtmlControl,生成html时自然不会有多余的空行。
1 <!DOCTYPE html> 2 <html> 3 <head><title> 4 5 </title></head> 6 <body> 7 <div> 8 <span id="Label1">170</span> 9 </div> 10 </body> 11 </html>
不过如果不将<%@ Page %>放到第一行的话在WebSite中可以编译通过但编辑时会在错误列表中产生大量的莫明其妙的错误提示。当然你也可以将一些用户控件的引用声明放到<head runat="server">后也不会产生空行,但要在使用的地方之前(当然很少有人会在<head>中使用用户自定义控件)
1 <!DOCTYPE html> 2 <html> 3 <head runat="server"> 4 <title></title> 5 6 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %> 7 8 <%@ Register Src="~/WebUserControl1.ascx" TagPrefix="uc1" TagName="WebUserControl1" %> 9 </head> 10 <body> 11 <div> 12 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 13 </div> 14 <uc1:WebUserControl1 runat="server" ID="WebUserControl1" /> 15 </body> 16 </html>
1 <!DOCTYPE html> 2 <html> 3 <head><title> 4 5 </title></head> 6 <body> 7 <div> 8 <span id="Label1">2464</span> 9 </div> 10 WebUserControl1.ascx 11 </body> 12 </html>
标签:
asp.net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库