我正在尝试创建查询字符串,因此当用户切换语言时,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
答案 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