2010-07-25 107 views
4

我想知道是否有任何種類的工具在那裏Tidy Html在飛行中。ASP.NET MVC「整潔」Html飛行

目前在我的應用程序中,我使用了一個母版頁,然後我的視圖被加載到母版頁中。問題是<asp:content runat="server" ... />總是在輸出HTML中添加額外的空格/換行符。

我真正想要做的是把它清理乾淨,這樣

<title> 
    This is my title 

</title> 

看起來像

<title>This is my title</title> 

現在我意識到,我可以順利通過,並設置

<asp:content ID="Content1" runat="server" ContentPlaceHolderID="TitleContent">This is my title</asp:content> 

但這成爲一個痛苦,因爲我經常使用Ctrl + k + d這導致重新格式化,這是不希望的。

此外,當我使用像

<asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">User <%: Model.UserName%> - Urban Now</asp:Content> 

內嵌代碼,並使用「格式化」鍵擊,然後也有前行的休息時間和<%: Model.UserName%>後,也沒有辦法設置在該格式「工具/選項/格式 - >標籤特定選項」(至少不是我能找到的)。

+1

題外話,但我真的很喜歡看到你的問題類似鍵盤的鍵。我將開始從現在開始使用它們...... – 2010-07-25 01:52:00

+2

我用'按Ctrl +ķ + d' – 2010-07-25 01:58:08

+1

不要過度使用它們雖然,或者他們可能會被禁止:S – 2010-07-25 01:58:32

回答

1

TidyManaged是一個託管的.NET/Mono包裝器,用於開源,跨平臺Tidy庫,一個HTML/XHTML/XML標記解析器&,最初由Dave Raggett創建。

用法示例

using System; 
using TidyManaged; 

public class Test 
{ 
    public static void Main(string[] args) 
    { 
    using (Document doc = Document.FromString("<hTml><title>test</tootle><body>asd</body>")) 
    { 
     doc.ShowWarnings = false; 
     doc.Quiet = true; 
     doc.OutputXhtml = true; 
     doc.CleanAndRepair(); 
     string parsed = doc.Save(); 
     Console.WriteLine(parsed); 
    } 
    } 
} 

結果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta name="generator" content= 
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" /> 
<title>test</title> 
</head> 
<body> 
asd 
</body> 
</html> 

請注意:<title>test</tootle>更改爲正確的<title>test</title>

https://github.com/markbeaton/TidyManaged