私のページには次のコードがありますが、ケースの数ははるかに多いですが、正常に機能します。他の選択でまったく同じケースのリストを使用する必要がありますが、まったく同じコードをあちこちで複製したくありません。
私はこれを持っています:
Select Case Request.Cookies("LatestRefer").Value
Case "EZ12"
freeCallNumber = "0800 111 1111"
Case "EW56"
freeCallNumber = "0800 222 2222"
Case "AT34"
freeCallNumber = "0800 333 3333"
Case Else
freeCallNumber = "0800 444 4444"
End Select
理想的にはこんなものが欲しい
Select Case Request.Cookies("cookie1").Value
myGlobalListOfCases()
End Select
Select Case Request.Cookies("cookie2").Value
myGlobalListOfCases()
End Select
Select Case Request.Cookies("cookie3").Value
myGlobalListOfCases()
End Select
何か案は?
編集:
Private Function getFreeCallNumber(ByVal value As String) As String
Select Case value
Case "EZ12"
Return "0800 111 1111"
Case Else
Return "0800 222 2222"
End Select
End Function
そしてpage_loadで:
If Not Request.Cookies("cookie1") is Nothing Then
freeCallnumber = Me.getFreeCallNumber(Request.Cookies("cookie1").Value)
Else
freeCallnumber = Me.getFreeCallNumber(Request.Cookies("cookie2").Value)
End If
この種の作品ですが、少し問題があります。電話番号を変更するには、ページを2回ロードする必要があります(または、前回のロードで行ったはずの電話番号が表示されます)。これが理にかなっていることを願っています...それはかなり奇妙な振る舞いです。