2011-04-07 85 views
4

我有一個問題。刪除ASP.NET HTML頁面標題中的多餘空格?

我分配使用VB.NET作爲page.title = "a"頁面的標題值,但是當我運行該頁面,並查看頁面查看源代碼,我發現它顯示像<title> a </title>

問題是,我要刪除所有標題之間的空間標籤和它顯示這樣<title>a</title>

在此先感謝!

+0

I *相信*每普通HTML在兩端統治額外的空格*被有效地忽略*,並在不應該出現全部 - 因此顯示的兩個版本在渲染時都應該相同。標題文字看起來很奇怪嗎? (從其他標題右移) – 2011-04-07 06:59:41

+0

它顯示奇怪,我如何將它移到右邊 – yogesh 2011-04-07 07:03:16

+0

@pst:這是不正確的。 HTML將呈現源中定義的單個空格,但會忽略任何其他空白。這是根據HTML規範:http://www.w3.org/TR/REC-html40/struct/text.html#h-9.1 – 2011-04-07 08:38:21

回答

2

就我所知,這只是ASP.NET渲染的一個怪癖(bug?)。

我偶然發現了這個問題,並在這裏發現了這個問題:Weird white space in title tag。如果你煩惱,那麼你只要堅持這一點,你的頁面代碼進行修復:

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) 

    Dim stringWriter As New System.IO.StringWriter() 
    Dim htmlWriter As New HtmlTextWriter(stringWriter) 
    MyBase.Render(htmlWriter) 
    Dim html As String = stringWriter.ToString() 
    Dim t1 As Integer = html.IndexOf("<title>") 
    Dim t2 As Integer = html.IndexOf("</title>") + 8 
    Dim newTitleTag As String = html.Substring(t1, t2 - t1) 
    html = html.Replace(newTitleTag, String.Format("<title>{0}</title>", Me.Title)) 

    writer.Write(html) 

End Sub 
+1

鏈接的頁面還顯示了C#翻譯,以防有人在尋找相反(像我一樣!) – 2011-07-20 08:48:01