2009-02-21 40 views
2

因此,我的个人网站运行在我写的自定义博客引擎上,我对此非常满意。但是,它使用一个母版页,这意味着ASP.NET前置(没有很好的理由)“CT100”所有的id的...例如:美化ASP.NET标记

<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。

+0

您没有任何帮助。我为什么要在新的平台上重写一个成品。尽管如此,感谢downvote。 – FlySwat 2009-02-21 03:55:25

+0

您是否找到了您在这些答案中找到的解决方案? – 2009-02-24 21:53:06

回答

2

说实话,我并没有看到通过大量工作来减少标记美化的好处......尽管我以某种奇怪的方式欣赏你的愿望。

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

1

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

0

我想你可以挂上一个ResponseFilter来美化...好运与正则表达式。 ;)

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

适配器被ariginally设计,以方便使用与redered表.NET控件CSS的,但它可以用于你的目的只是为好。