2011-08-18 55 views
1

我已經被從我的數據集「NC-1」返回以下nc_resultsName價值觀,以「NC-2」,「C」string.Equals不工作,我預計在asp.net web表單

我的aspx頁面看起來是這樣的

Text='<%# isCommentNC(Eval("nc_resultName").ToString()) %>' 

和我的CS頁面包含此方法

public Func<string, bool> isCommentNC = x => x.Equals("NC-1") || x.Equals("NC-2"); 

,但如果我用包含而不是我的方法只能夠正常運作,爲什麼?

public Func<string, bool> isCommentNC = x => x.Contains("NC-1") || x.Contains("NC-2"); 

* 編輯

對不起輸入錯誤的改變 「C」 爲 「NC-1」,雖然

+0

什麼不工作?請注意,第一種情況根本不考慮「NC-1」。 – dlev

+0

第二個也不是... – Yuck

+3

@Yuck當然可以。 「NC-1」絕對是'.Contains(「C」)'。我沒有說這是他想要的*,只是注意到「NC-1」在案例1中根本沒有被捕獲*(這可能解釋了爲什麼它「不工作」) – dlev

回答

0

您確定您的數據在之前或之後沒有空白嗎?嘗試調用您的字符串之前調用Equals上...

0

我也正從我的數據集「NC返回以下nc_resultsName值相同的問題-1「,」NC-2「,」C「

你是怎麼確定的?如果您正在調試器中查看,可能是因爲嵌入的空字符正在玩弄技巧。 .NET字符串可以包含這些字符,但是調試器在該點停止顯示字符串,就好像它們是C風格字符串一樣。

確保調試器不在您身上玩技巧。

+0

我改變了'public Func isCommentNC = x => x;'並且正在返回正確的數據 – marknery