声明要在一个以上的地方使用的案例列表
-
28-09-2019 - |
题
我的页面中有以下代码,尽管案例数量要大得多,但可以正常工作。我需要在其他选择中使用完全相同的案例列表,但我不想在整个地方复制完全相同的代码。
我有这个:
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
这种作品,但有一个小问题。我必须将页面加载两次才能更改电话号码(或者按照以前的加载时应该完成的电话号码)。希望这是有道理的……这是相当奇怪的。
解决方案
创建一个方法:
private string getFreeCallNumber(string value)
{
switch (value)
{
case "EZ12":
return "0800 111 1111";
case "EW56":
return "0800 222 2222";
// TODO: Add more switch cases here.
default:
return null;
}
}
打电话时:
string freeCallnumber = this.getFreeCallNumber(Request.Cookies["cookie1"].Value));
if (string.IsNullOrEmpty(freeCallNumber))
{
// other logic
}
我的猜测是在vb.net中这样的:
Private Function getFreeCallNumber(value as String) as String
Select Case value
Case "EZ12"
return "0800 111 1111"
Case "EW56"
return "0800 222 2222"
' TODO: Add more switch cases here.
Case Else
return Nothing
End Select
End Function
其他提示
你可以尝试 词典(Tkey,TValue)课程
注意:是可序列化的:-Q
不隶属于 StackOverflow