2011-12-07 40 views
2

我有一個循環奇怪的隱藏字符

<ul id="news-list" class="thumbobs-list"> 
    @foreach (var item in Model.News) { 
     @Html.Partial("RenderNews/" + item.TypeString, item) 
    } 
</ul> 

使用諧音這樣

@model Web.Models.DataModel.NewsItem 
@{ Layout = null; } 
<li class="news-item @Model.TypeString.ToLower()" id="[email protected]"> 
    <h3 class="headline"> 
    Example News headline. 
    </h3> 
    <p class="timestamp">@Model.TimeString</p> 
</li> 

那偉大工程

但是當我去的風格與CSS我遇到即在每個部分的空間中,一個U + FE的前引起問題

隱藏空白字符FF和另一個空間導致設計問題。

有沒有人見過這個?

+0

這看起來OK。這可能是你正在渲染的部分內容。我們可以看到它嗎? –

+0

我添加了parital –

+0

如果去掉'佈局= NULL?' –

回答

5

你已經發現了BOM,字節順序標記。它作爲文本文件中的第一個字節存儲以指示編碼。

http://en.wikipedia.org/wiki/Byte_order_mark

[編輯]

您可以用記事本打開和 「另存爲...」 爲ANSI文件。這會刪除BOM(和編碼)。

// reading a text file as binary will include the BOM flag 
FileStream FS = new FileStream(MapPath(@"~\Text\TestUTF8.txt"), FileMode.Open); 

byte[] Data = new byte[100]; 

FS.Read(Data, 0, 100); // BOM is in the data 
FS.Close(); 

// get rid of the BOM 
String String1 = System.Text.Encoding.UTF8.GetString(Data); 

// reading a text file as text will automatically handle it. 
String String2 = File.ReadAllText(MapPath(@"~\Text\TestUTF8.txt")); 
+0

同樣是有一些方法來去除呢? –

1

試試複製文本並創建一個新的局部視圖。將其粘貼到記事本中並重新構建您的部分以排除隱藏在您的部分中的此字符,或者將其加載到vs二進制編輯器中並查找該字符。右鍵單擊並用...打開,然後選擇二進制編輯器。