【问题标题】:Prettifying ASP.NET Markup美化 ASP.NET 标记
【发布时间】:2009-02-21 03:41:29
【问题描述】:

所以,我的个人网站在我编写的自定义博客引擎上运行,我对此非常满意。但是,它使用母版页,这意味着 ASP.NET 将(无缘无故)“ct100”添加到所有 id...例如:

<div id='menu'>
   <ul>
    <li id="ctl00_homeTab" class="active"><a href="/">Home</a></li>
    <li id="ctl00_codeTab"><a href="/code/">Code / Projects</a></li>
    <li id="ctl00_aboutTab"><a href="/about/">About Me</a></li>
    <li id="ctl00_contactTab"><a href="/contact/">Contact</a></li>
  </ul>
</div>

我想稍微美化一下标记,然后去掉它们,或者至少将它们重命名为更有意义的名称。由于 Webforms 是相当可插拔的,我想有一种方法可以做到这一点。我知道内容占位符充当命名容器,但在我的情况下,我只想有一个像样的 id,'master' 而不是 'ct100' 将是一个开始。

虽然我很愚蠢,但我想做的另一件事是在使用 UserControls 时修复标记的缩进。如果您看一下at my site,您会发现用户控件没有缩进并中断了源代码的流动。如果不通过漂亮的打印机运行页面输出,这可能无法解决……那会浪费时间。

不要告诉我切换到 MVC。我已经对其进行了评估,并将坚持使用 Webforms。

【问题讨论】:

  • 您没有提供任何帮助。为什么要在新平台上重写一个成品。感谢您的反对。
  • 您是否在这些答案中找到了您正在寻找的解决方案?

标签: asp.net webforms


【解决方案1】:

老实说,我看不到为最少的标记美化而付出大量工作的好处……尽管我以某种奇怪的方式钦佩您的愿望。

您的网站看起来不错 - 将精力放在浏览器中实际呈现的内容和最终用户的功能上。 :)

【讨论】:

    【解决方案2】:

    尽管此时 proberly 对您没有多大用处,但 ASP .NET 的下一个版本将允许您对控件的输出 ID 进行更多控制。

    这篇博文中有一些很好的信息...

    http://www.mostlylucid.net/archive/2008/11/03/way-too-much-information-on-control-ids-and-asp.net-4.0.aspx

    【讨论】:

    • 我同意如果它是你的博客等待 asp.net 4
    【解决方案3】:

    这些控件前缀是 ASP.NET 在页面上查找控件的方式,因为……如果我没记错的话……视图状态/回发。我也讨厌这些前缀,但是 ASP.NET 生成的 JavaScript 需要它们。

    【讨论】:

      【解决方案4】:

      是的,您可以通过使用 ASP .NET 2.0 控制适配器来做到这一点。控件适配器允许您修改现有服务器控件输出其代码的方式,而无需更改 ASPX 文件中的任何代码。你可以在这里看到它是如何完成的:

      http://weblogs.asp.net/scottgu/archive/2006/11/29/tip-trick-use-the-asp-net-2-0-css-control-adapters-for-css-friendly-html-output.aspx

      适配器的设计初衷是允许将 CSS 与重新渲染表格的 .NET 控件一起轻松使用,但它也可以用于您的目的。

      【讨论】:

        【解决方案5】:

        我想你可以连接一个ResponseFilter 来美化……祝你好运。 ;)

        【讨论】:

          【解决方案6】:

          CSS Friendly Control Adapters ?我在多个项目中使用它们并且对它们非常满意。他们甚至可以很好地转换为 3.0、3.5。

          menu adapter 完全符合您的要求。

          【讨论】:

            猜你喜欢
            • 2011-07-12
            • 1970-01-01
            • 2013-01-01
            • 1970-01-01
            • 2010-10-30
            • 1970-01-01
            • 2016-10-30
            • 2016-10-15
            • 1970-01-01
            相关资源
            最近更新 更多