2010-02-22 62 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)。