我在homepage.master中的代码后面的语句有什么问题?

时间:2012-01-30 02:27:39

标签: asp.net vb.net visual-studio-2010

我正在尝试创建查询字符串,因此当用户切换语言时,URL会更改为?lang = NL。我在homepage.master后面的代码中有这个(VB,而不是C#):

  Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) Then

Visual Studio以蓝色突出显示。当我将鼠标悬停在语句的左侧时,它会显示“属性值必须分配给属性或使用其值”当我将鼠标悬停在错误语句的右侧时,它会显示“预期语句结束”。

我不确定我给出的代码是否是C#,但是当我使用Teleflex翻译器进行检查时,它会显示“EOF Expected”并且不会翻译。

所有这些都绑定到我创建的3个类,BasePage.vb,Culture.vb和Global.vb。但我认为只是这条线就是搞砸了一切。如果有人知道解决方案,我真诚地感谢你与我分享,因为这令人沮丧。谢谢!


p.s。:如有必要,这是我的整个homepage.master.vb:

  Partial Public Class Homepage

Inherits System.Web.UI.MasterPage

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Init

    If Session([Global].SESSION_KEY_CULTURE) Is Nothing OrElse _

    Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) Then

        RequestLanguageChange(Me.Request.QueryString("lang"))

    End If

End Sub



Protected Sub RequestLanguageChange(ByVal culture As String)



    'store requested language as new culture in the session

    Session([Global].SESSION_KEY_CULTURE) = culture



    'reload last requested page with new culture

    Server.Transfer(Request.Path)

End Sub

Private Function [Global]() As Object
    Throw New NotImplementedException
End Function

  End Class

3 个答案:

答案 0 :(得分:1)

您是否尝试将以下两行放在一行:

If Session([Global].SESSION_KEY_CULTURE) Is Nothing OrElse _

    Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) Then

像:

If Session([Global].SESSION_KEY_CULTURE) Is Nothing OrElse Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) Then    



答案 1 :(得分:1)

你应该删除这两行之间的空格......

    If Session([Global].SESSION_KEY_CULTURE) Is Nothing OrElse _

           Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) Then

让它读起来像

    If Session([Global].SESSION_KEY_CULTURE) Is Nothing OrElse _
           Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) Then

答案 2 :(得分:1)

在VB Net中换行后应该有没有额外空格。在_之后删除额外空格。

If Session([Global].SESSION_KEY_CULTURE) Is Nothing OrElse _
    Me.Request.QueryString("lang") <> Session([Global].SESSION_KEY_CULTURE) _
Then