我的页面中有以下代码,尽管案例数量要大得多,但可以正常工作。我需要在其他选择中使用完全相同的案例列表,但我不想在整个地方复制完全相同的代码。

我有这个:

   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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top