对ASP.NET标记进行优化

时间:2009-02-21 03:41:30

标签: asp.net webforms

所以,我的个人网站是在我编写的自定义博客引擎上运行的,我对此非常满意。但是,它使用了一个母版页,这意味着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。

6 个答案:

答案 0 :(得分:2)

说实话,我并没有看到通过大量工作来获得最少的标记美化的好处......虽然我以某种奇怪的方式欣赏你的欲望。

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

答案 1 :(得分:2)

虽然在这个时刻对你没什么用处,但是ASP .NET的下一个版本将允许你对你控件的输出id进行更多的控制。

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

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

答案 2 :(得分:1)

这些控件前缀是ASP.NET在页面上找到控件的方式,因为...如果我没记错的话... viewstate / postback。我也讨厌这些前缀,但ASP.NET生成的JavaScript需要它们。

答案 3 :(得分:1)

是的,你可以通过使用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

这些适配器是基本设计的,允许使用带有.NET控件的CSS轻松使用表格,但它也可以用于您的目的。

答案 4 :(得分:0)

我想你可以联系一个ResponseFilter来美化......祝你好运。 ;)

答案 5 :(得分:0)

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

menu adapter完全符合您的要求。

相关问题