MVC 视图中的全局代码段给出错误.... "Expression Expected."



我有一个视图,其中有一个代码块,我在其中设置一些变量,然后使用这些变量来显示或隐藏一些区域。。。

当我建立这个网站。在声明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、视图模型?(。

你能想象把你的观点交给一个网页设计师吗?他会绝望地大叫。

相关内容

最新更新