2011-02-23 53 views
0

我正在轉換一箇舊的PHP項目到ASP.Net(VB),並想知道如果有人可以指向我在正確的方向,以轉換這最後一段代碼。PHP到ASP.Net轉換

有3個函數是從這個內部調用的,我已經轉換了那些已經和說實話的會話數組,讓我頭痛。

我想過使用Hashtables和DirecCasting,但這只是讓我更加困惑。

任何幫助將大大apreciated。

$response = array(); 

$messages = array(); 

if (!empty($_POST['cbox'])) { 

    if (!empty($_SESSION['opsd_user_'.$_POST['cbox']])) { 
     $messages = $_SESSION['opsd_user_'.$_POST['cbox']]; 
    } 
} else 
{ 

    if (!empty($_POST['blist']) && $_POST['blist'] == 1) { getBList(); } 

    if (!empty($_POST['initialize']) && $_POST['initialize'] == 1) { 
     getStatus(); 

     if (!empty($_SESSION['opsd_sessionvars'])) { 
      $response['initialize'] = $_SESSION['opsd_sessionvars']; 

      if (!empty($_SESSION['opsd_sessionvars']['openCBID']) && !empty($_SESSION['opsd_user_'.$_SESSION['opsd_sessionvars']['openCBID']])) { 
      $messages = array_merge($messages,$_SESSION['opsd_user_'.$_SESSION['opsd_sessionvars']['openCBID']]); 
      } 
     } 
    } else { 

     if (empty($_SESSION['opsd_sessionvars'])) { 
      $_SESSION['opsd_sessionvars'] = array(); 
     } 

     if (!empty($_POST['sessionvars'])) { 
      ksort($_POST['sessionvars']); 
     } else { 
      $_POST['sessionvars'] = ''; 
     } 

     if (!empty($_POST['updatesession']) && $_POST['updatesession'] == 1) { 
      $_SESSION['opsd_sessionvars'] = $_POST['sessionvars']; 
     } 

     if ($_SESSION['opsd_sessionvars'] != $_POST['sessionvars']) { 
      $response['updatesession'] = $_SESSION['opsd_sessionvars']; 
     } 

    } 

    getLastTimestamp(); 
    fetchMessages(); 
} 
+4

首先,你明白代碼的作用嗎? – 2011-02-23 17:39:04

+0

是的,我知道代碼的作用,有一些Ajax帖子進來,這些帖子被更新(一些)到會話變量。有3個不同的領域我正在努力:1 - $ response ['initialize'] = Session ['opsd_sessionvars']; 2 - ksort($ _ POST ['sessionvars']); 3 - $ messages = array_merge($ messages,$ _ SESSION ['opsd_user _'。$ _ SESSION ['opsd_sessionvars'] ['openCBID']]); Iam只是不知道如何轉換這些,我想我已經完成了其餘的部分 – opsoftware 2011-02-23 19:56:37

+0

您正在努力轉換排序和合並操作,顯示您沒有。 – 2011-02-23 21:34:58

回答

1

我認爲你在尋找什麼是ASP.NET頁面的SessionRequest.Form性能。在頁面中使用Session簡單查找/替換$ _SESSION應該可行,應該用Request.Form代替$ _POST。

+0

好吧,我得到的,並將作出所需的更改,但我沒有得到以下內容: '$ messages = array_merge($ messages,$ _ SESSION ['opsd_user _'。$ _ SESSION ['opsd_sessionvars'] ['openCBID']]) ;' 和 'ksort($ _ POST [ 'sessionvars']);' 我已經檢查php.net,但還沒有真正能夠找到螞蟻.NET等效。 – opsoftware 2011-02-23 19:27:40

+0

如果$ messages是一個字符串鍵控數組,那麼.NET等價物就是Dictionary(String,* something *)。 ksort()方法等同於將這些相同的鍵值對推入SortedDictionary(K,V)並遍歷它。 – 2011-02-23 21:55:13