2009-02-21 36 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的,但它可以用於你的目的只是爲好。