我的页面中有以下代码,尽管案例数量要大得多,但它运行良好。我需要在其他选择中使用完全相同的案例列表,但我不想让完全相同的代码在所有地方重复。
我有这个:
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
这种工作,但有一个小问题。我必须加载页面两次才能更改电话号码(或者电话号码显示为之前加载时应该完成的)。希望这是有道理的……这是相当奇怪的行为。