去除aspx生成的页面最开始的空行
2012-09-02 20:30
399 查看
使用.aspx生成的页面一般都会有一个或多个空行,当然这些空行不会影响页面在浏览器中的渲染结果,不过在查看源代码的时候感觉有些别扭,我曾试着去删除这些空行,但没有成功,你知道你们有没有去尝试。
生成后的页面:
不过在看到使用.cshtml生成的页面之后我想到应该有解决方案了。通过比较cshtml和.aspx页面,我发现.aspx页面多了下面关键的一行:
可以把它删除吗?当然不行,好多东西都在这里赋值的。那么是否可以移动它,让<!DOCTYPE html>在第一行呢?好吧,把它移动到<!DOCTYPE html>之后,再删除空行
生成的页面如下
<!DOCTYPE html>之前的空行删除了,但<!DOCTYPE html>的<html>之间多了空行了。其实我们可以把<%@ Page %>移动到<head runat="server">里,因为.aspx编译器会把里面的所有元素编译成HtmlControl,生成html时自然不会有多余的空行。
不过如果不将<%@ Page %>放到第一行的话在WebSite中可以编译通过但编辑时会在错误列表中产生大量的莫明其妙的错误提示。当然你也可以将一些用户控件的引用声明放到<head runat="server">后也不会产生空行,但要在使用的地方之前(当然很少有人会在<head>中使用用户自定义控件)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %> <!DOCTYPE html> <html> <head runat="server"> <title></title> </head> <body> <div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> </body> </html>
生成后的页面:
<!DOCTYPE html> <html> <head><title> </title></head> <body> <div> <span id="Label1">170</span> </div> </body> </html>
不过在看到使用.cshtml生成的页面之后我想到应该有解决方案了。通过比较cshtml和.aspx页面,我发现.aspx页面多了下面关键的一行:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %>
可以把它删除吗?当然不行,好多东西都在这里赋值的。那么是否可以移动它,让<!DOCTYPE html>在第一行呢?好吧,把它移动到<!DOCTYPE html>之后,再删除空行
<!DOCTYPE html> <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %> <html> <head runat="server"> <title></title> </head> <body> <div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> </body> </html>
生成的页面如下
<!DOCTYPE html> <html> <head><title> </title></head> <body> <div> <span id="Label1">170</span> </div> </body> </html>
<!DOCTYPE html>之前的空行删除了,但<!DOCTYPE html>的<html>之间多了空行了。其实我们可以把<%@ Page %>移动到<head runat="server">里,因为.aspx编译器会把里面的所有元素编译成HtmlControl,生成html时自然不会有多余的空行。
<!DOCTYPE html> <html> <head><title> </title></head> <body> <div> <span id="Label1">170</span> </div> </body> </html>
不过如果不将<%@ Page %>放到第一行的话在WebSite中可以编译通过但编辑时会在错误列表中产生大量的莫明其妙的错误提示。当然你也可以将一些用户控件的引用声明放到<head runat="server">后也不会产生空行,但要在使用的地方之前(当然很少有人会在<head>中使用用户自定义控件)
<!DOCTYPE html> <html> <head runat="server"> <title></title> <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="XXX.Default" %> <%@ Register Src="~/WebUserControl1.ascx" TagPrefix="uc1" TagName="WebUserControl1" %> </head> <body> <div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> <uc1:WebUserControl1 runat="server" ID="WebUserControl1" /> </body> </html>
<!DOCTYPE html> <html> <head><title> </title></head> <body> <div> <span id="Label1">2464</span> </div> WebUserControl1.ascx </body> </html>
相关文章推荐
- 去除JSP页面自动生成的空行
- 去除JSP页面自动生成的空行
- 去除JSP页面自动生成的空行
- 去除JSP页面自动生成的空行
- 去除JSP页面自动生成的空行
- 去除JSP页面自动生成的空行
- 关于aspx 页面生成html 源码顶部空行不得不说的事儿
- 去除JSP页面自动生成的空行
- aspx页面生成的空行
- 去除JSP页面自动生成的空行
- 怎么用ASPX页面生成缩略图
- aspx页面生成html
- aspx页面生成详解
- aspx页面生成详解
- aspx页面生成详解
- jsp页面中去除多余空行
- 如何在客户端将动态生成的aspx页面另存为到本地
- 去除前台生成隐藏的的VIEWSTATE,不会影响机能,使得页面提交更快。
- aspx生成静态页面html 例子