如何从ASPX文件

时间:2015-09-02 00:01:42

标签: html asp.net visual-studio

当我使用Visual Studio创建ASP.NET页面时,在查看页面源时,将忽略ASPX文件中的某些换行符。例如,以下ASPX代码

<head runat="server">
    <title>My Page Title</title>

    <meta id="MetaTag1" content="First item of information">
    <meta id="MetaTag2" content="Second item of information">
    <meta id="MetaTag3" content="Third item of information, containing longer description">
    <meta id="MetaTag4">
    <meta id="MetaTag5" content="Fifth item of information">
    <meta id="MetaTag6">

    <script type="text/javascript">
        function button_pressed() {
            document.getElementById('SubmitButton').style.borderWidth = '8px 5px 4px 7px';
            [etc...]
当我查看页面源时,

显示如下:

<head><title>
    My Page Title
</title><meta id="MetaTag1" content="First item of information"><meta id="MetaTag2" content
="Second item of information"><meta id="MetaTag3" content="Third item of information, conta
ining longer description"><meta id="MetaTag4"><meta id="MetaTag5" content="Fifth item of in
formation"><meta id="MetaTag6">

    <script type="text/javascript">
        function button_pressed() {
            document.getElementById('SubmitButton').style.borderWidth = '8px 5px 4px 7px';
            [etc...]

ASPX文件中的大多数换行符和空格也在页面源中,但在某些情况下会忽略换行符(即使是</title>和第一个<meta>之间的双重换行符标签)。在其他情况下,在页面源(或至少一个案例 - <title>标记)中可以看到ASPX文件中没有的空格。

这似乎是ASP.NET解释ASPX文件的一个问题,而不是浏览器或Visual Studio,因为页面源在FireFox,IE和Chrome中看起来相同,并且编辑ASPX文件文本编辑器而不是VS并没有什么区别。

我想知道为什么ASPX文件中的大部分空格会被忽略,因为它的大部分内容确实是HTML源代码(我只展示了一个代表性的示例,专注于有问题的部分,但大多数页面源的其余部分具有很大程度上对应于ASPX的格式。

但更重要的是,我想知道如何在ASPX文件中添加换行符,这将使页面源更具可读性,但不会在网页上呈现。

一些不太理想的解决方案:

  • 显然,每行末尾的<br />并不是我想要的。虽然这确实在页面源中添加了换行符,但它会在页面上呈现,在顶部添加无用的空格。
  • 我可以在每行的末尾添加&#10;。这样做会更好,因为它不会向呈现的页面添加空格,但它会在页面源中明确显示,使其看起来混乱。
  • 我可以将所有信息放在一个<meta>标记中,并在内容属性中的各个项目之间添加&#10。如果我这样做,信息会垂直排列,并且&#10未显示。虽然这是最需要阅读的部分,但这仅适用于属性值的内容。此外,对于某些<meta>,内容在ASPX中显式设置,而其他内容由代码隐藏设置,因此这样做会使事情变得复杂。
  • 我知道有一些依赖于浏览器的解决方案,但我不想依赖这些解决方案。我希望换行符实际上在页面源中。

1 个答案:

答案 0 :(得分:-1)

  

&#34;但更重要的是,我想知道如何在ASPX文件中添加换行符,这将使页面源更易读,但不会在网页上呈现。&#34;

只要您的元素的样式具有未设置为保留空格的white-space属性,您的aspx中的空格(例如换行符)就不会在浏览器中显示。