2010-02-22 106 views
0

即時得到一個生成錯誤與下面的代碼...表達預計

Private Property GridViewSortDirection() As String 

    Get 
     Return If(TryCast(ViewState("SortDirection"), String), "ASC") 
    End Get 
    Set(ByVal value As String) 
     ViewState("SortDirection") = value 
    End Set 

End Property 

這是發生在一下行...

Return If(TryCast(ViewState("SortDirection"), String), "ASC") 

錯誤回報......

錯誤11 C:\ inetpub \ wwwroot \ TPSupport \ main \ UserControls \ grid.ascx.vb(192):錯誤BC30201:預期的表達式。

任何想法的

感謝

它是一個轉換從C#

private string GridViewSortDirection 
{ 
    get { return ViewState["SortDirection"] as string ?? "ASC"; } 
    set { ViewState["SortDirection"] = value; } 
} 
+0

如果(的ViewState(「SortDirection」)) 回報「ASC」 結束時,如果 – jjj 2010-02-22 11:04:35

+0

我認爲它不接受返回的條件......這樣做的條件,然後返回值 – jjj 2010-02-22 11:11:05

+0

如果(TryCast(視圖狀態( 「SortDirection」),String),「ASC」) - 這樣的構造可能嗎?關於什麼編譯器? (我無法在VS 2008上編譯它) – Ando 2010-02-22 13:01:42

回答

0

我不熟悉VB,但使用If關鍵字表明你正在做的TryCast"ASC"結果之間的比較,

試試這種方式,通過使用適當的比較運算符如

Return If(TryCast(ViewState("SortDirection"), String) <> "ASC") 
0

你使用什麼編譯器版本?我懷疑你無意中切換到尚未支持條件運算符的VB版本(< 9.0)。