我有一個視圖,其中我有一個代碼塊,我設置一些變量,然後使用這些變量來顯示或隱藏一些區域...MVC View中的全局代碼段給出一個錯誤....「表達式期望。」
當我建立這個網站。 @(
行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
我會將邏輯至少移動到控制器級別,甚至更高一些的站點地圖或導航服務。關鍵是邏輯應該在「適當」類中實現,例如可以是單元測試很容易。視圖應該只是從控制器中獲取這些值(infotitle,infotext,ispanelvisible showcatmenu等),而不是「計算」。 –
@Tz_,完全同意你的看法,這個邏輯絕對不屬於一個觀點。 –
感謝Darin的回答,並感謝@Tz_指向正確的方向。我一定會這樣做。 –