私のページには、ケースの数がはるかに多いにもかかわらず、うまく動作する次のコードがあります。他の選択肢でも同じリストのケースを使用する必要がありますが、まったく同じコードを複製する必要はありません。ケースリストを複数の場所で使用することを宣言する
私はこれがあります。
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
のようなものの任意のアイデアをしたいですか?
EDIT:
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回ロードする必要があります(または、以前のロードで実行したはずの電話番号が表示されます)。これが理にかなってほしいと思っています...それはかなり奇妙な行動です。
同じページリクエストでCookieを設定(送信)すると、この問題が発生する可能性がありますか?または、あなたが電話番号で何をするかに応じて、viewstate/databindの問題かもしれません。ページをデバッグするか、レスポンスストリームに書き込んで日付を取得するタイミングを確認してください。私。 Response.Write( "Number =" + freeCallNumber); –