删除从 html 中的 asp 代码创建的空行
Remove empty line created from asp code in html
如果在经典 ASP 页面中我写:
<%pippa="Camilla"%>
<!DOCTYPE html>
在页面源代码中我会在<!DOCTYPE html>
之前有一个空行。
如何删除它?
我知道我可以像这样将所有内容写在一行中:
<%pippa="Camilla"%><!DOCTYPE html>
但在其余代码中似乎很奇怪。
有什么办法解决吗?
如果是,是否可以在 web.config 中使用解决方案?
What about using Dynamic Content Compression ?
您无法删除它。当服务器上的代码为 运行 时,将执行 <% %>
标记内的代码,并将任何输出置于其位置。 ASP 源中的所有其他字符保持原样。因此,初始结束 %>
标记后的换行符保持原样。
唯一的解决方法是您自己建议的方法。即:
<%pippa="Camilla"%><!DOCTYPE html>
不漂亮,但很管用。
这是服务器端代码生成的症结之一,ASP处理器只处理ASP代码(内嵌代码块<% %>
).
这意味着任何其他 HTML 都被保留 "as is",包括回车 return 和换行等特殊字符。
因此,当 ASP 处理您的页面时,它会看到
⏎
<!DOCTYPE html>
⏎表示回车Return,换行
因此,正如您已经在问题中陈述的那样,避免这种情况的唯一方法是将内嵌代码块放在同一行。
<% pippa="Camilla" %><!DOCTYPE html>
另一种方法是将 HTML 和代码分配分成不同的部分。我通常通过将我的 HTML 放在它自己的 Sub
/ Function
中并使用 Init()
函数在页面前面传递或分配变量来做到这一点,你仍然会发现自己在处理像这样的代码;
<%
Sub DisplayHTML()
%><!DOCTYPE html>
...
</html><% End Sub %>
这不是很漂亮,所以我倾向于忽略尾随的新行,除非它影响页面的呈现 (IE 兼容模式等).
在代码中处理 HTML 的另一种方法是构建 HTML 模板以加载 HTML 并替换由占位符定义的值。
见How to edit the html from ASP in a better way?
如果在经典 ASP 页面中我写:
<%pippa="Camilla"%>
<!DOCTYPE html>
在页面源代码中我会在<!DOCTYPE html>
之前有一个空行。
如何删除它? 我知道我可以像这样将所有内容写在一行中:
<%pippa="Camilla"%><!DOCTYPE html>
但在其余代码中似乎很奇怪。 有什么办法解决吗? 如果是,是否可以在 web.config 中使用解决方案?
What about using Dynamic Content Compression ?
您无法删除它。当服务器上的代码为 运行 时,将执行 <% %>
标记内的代码,并将任何输出置于其位置。 ASP 源中的所有其他字符保持原样。因此,初始结束 %>
标记后的换行符保持原样。
唯一的解决方法是您自己建议的方法。即:
<%pippa="Camilla"%><!DOCTYPE html>
不漂亮,但很管用。
这是服务器端代码生成的症结之一,ASP处理器只处理ASP代码(内嵌代码块<% %>
).
这意味着任何其他 HTML 都被保留 "as is",包括回车 return 和换行等特殊字符。
因此,当 ASP 处理您的页面时,它会看到
⏎
<!DOCTYPE html>
⏎表示回车Return,换行
因此,正如您已经在问题中陈述的那样,避免这种情况的唯一方法是将内嵌代码块放在同一行。
<% pippa="Camilla" %><!DOCTYPE html>
另一种方法是将 HTML 和代码分配分成不同的部分。我通常通过将我的 HTML 放在它自己的 Sub
/ Function
中并使用 Init()
函数在页面前面传递或分配变量来做到这一点,你仍然会发现自己在处理像这样的代码;
<%
Sub DisplayHTML()
%><!DOCTYPE html>
...
</html><% End Sub %>
这不是很漂亮,所以我倾向于忽略尾随的新行,除非它影响页面的呈现 (IE 兼容模式等).
在代码中处理 HTML 的另一种方法是构建 HTML 模板以加载 HTML 并替换由占位符定义的值。
见How to edit the html from ASP in a better way?