我有一个视图,其中有一个代码块,我在其中设置一些变量,然后使用这些变量来显示或隐藏一些区域。。。
当我建立这个网站。在声明Syntax Error
的@(
行和声明Expression Expected
的另一行出现编译错误。有人能告诉我我在这里做错了什么吗。。。。
@ModelType arwedes.WebShop.Model.Gruppe1Liste
@Code
End Code
@(
Dim lblInfoTitleText As String = String.Empty
Dim lblInfoText As String = String.Empty
Dim panelInfoVisibility As Boolean = False
Select Case WebSession.Menu
Case arwedes.WebShop.Web.Navigation.MenuEnum.Home
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.HomeTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Home", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Reservieren
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.ReservierenTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Reservieren", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Kaufen
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.KaufenTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Kaufen", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Verkaufen
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.VerkaufenTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Verkaufen", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Member
If Request.RawUrl.Contains("login") Then
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.MemberTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Member", AppSession.Language)
panelInfoVisibility = True
End If
End Select
Dim bShowCatMenu As Boolean = False
Select Case WebSession.Menu
Case arwedes.WebShop.Web.Navigation.MenuEnum.Home
bShowCatMenu = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Kaufen
bShowCatMenu = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Reservieren
bShowCatMenu = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Member
If Request.ServerVariables("SCRIPT_NAME") = "/membermenu.aspx" Or Request.ServerVariables("SCRIPT_NAME") = "/welcome.aspx" Then
bShowCatMenu = True
End If
End Select
)
@If panelInfoVisibility Then
@: <div id="panelInfo">
@: <p style="text-align: center; font-size: 8pt"> <b> <span id="lblInfoTitle">@lblInfoTitleText</span>
@: </b><br /> <span id="lblInfo">@lblInfoText</span> </p> </div>
End If
将代码放在@Code ... End Code
块中,而不是@( ...)
。
这样尝试:
@ModelType arwedes.WebShop.Model.Gruppe1Liste
@Code
Dim lblInfoTitleText As String = String.Empty
Dim lblInfoText As String = String.Empty
Dim panelInfoVisibility As Boolean = False
Select Case WebSession.Menu
Case arwedes.WebShop.Web.Navigation.MenuEnum.Home
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.HomeTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Home", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Reservieren
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.ReservierenTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Reservieren", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Kaufen
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.KaufenTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Kaufen", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Verkaufen
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.VerkaufenTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Verkaufen", AppSession.Language)
panelInfoVisibility = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Member
If Request.RawUrl.Contains("login") Then
lblInfoTitleText = arwedes.WebShop.Model.Text.GetText("Info.MemberTitle", AppSession.Language)
lblInfoText = arwedes.WebShop.Model.Text.GetText("Info.Member", AppSession.Language)
panelInfoVisibility = True
End If
End Select
Dim bShowCatMenu As Boolean = False
Select Case WebSession.Menu
Case arwedes.WebShop.Web.Navigation.MenuEnum.Home
bShowCatMenu = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Kaufen
bShowCatMenu = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Reservieren
bShowCatMenu = True
Case arwedes.WebShop.Web.Navigation.MenuEnum.Member
If Request.ServerVariables("SCRIPT_NAME") = "/membermenu.aspx" Or Request.ServerVariables("SCRIPT_NAME") = "/welcome.aspx" Then
bShowCatMenu = True
End If
End Select
End Code
@If panelInfoVisibility Then
@: <div id="panelInfo">
@: <p style="text-align: center; font-size: 8pt"> <b> <span id="lblInfoTitle">@lblInfoTitleText</span>
@: </b><br /> <span id="lblInfo">@lblInfoText</span> </p> </div>
End If
话虽如此,像您编写的代码不属于视图。因此,问题的真正解决方案是将其外部化(helper、视图模型?(。
你能想象把你的观点交给一个网页设计师吗?他会绝望地大叫。