2013-08-22 155 views
2

我目前正在開發一個系統,允許一個外部軟件點擊一個按鈕,然後他將執行一些c#.net代碼,計劃通過使用調用動態導航RTC下面的代碼。Dynamics NAV RTC:命令行參數傳遞

Process.Start("Microsoft.Dynamics.Nav.Client.exe"); 

外部應用程序包含我想要傳遞給NAV CRM的變量。

有沒有一種方法,我可以通過傳遞參數,比如你會用類似下面的方式網址做到這一點:

Process.Start("Microsoft.Dynamics.Nav.Client.exe", "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10"); 

上面一行不起作用。我收到以下錯誤消息:

Priming dictionary contains a key 'no' which is not allowed

Parameter name: primingDictionary

社區中的任何人是否知道如何以類似的方式生成此功能?

回答

1

,你可以用它這樣的:

ProcessStartInfo psi = new ProcessStartInfo("Microsoft.Dynamics.Nav.Client.exe", 
      "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10"); 
Process.Start(psi); 

的第一個參數是過程本身,secomd是論據。

你可以改變他們,只要你願意

你可以學到的參數NAV接受here

+0

謝謝你的迴應。我最初對我的問題是含糊不清的。我已經改變了這個問題,所以如果你知道我能如何解決這個很好的改變的問題。 – LiamHall

+0

@LiamHall當你解僱沒有任何部分時會發生什麼? –

+0

此參數傳遞工作:「DynamicsNAV:// localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd。/ RunPage?Page = 50000然而,當我嘗試添加參數時出現錯誤,當我點擊錯誤動態NAV CRM不加載 – LiamHall

0

是的,只需要調用的Process.Start()這需要輸入參數過載:

Process.Start("Microsoft.Dynamics.Nav.Client.exe", "DynamicsNAV://localhost:7046/DynamicsNAV70/CRONUS%20UK%20Ltd./RunPage?Page=50000&No=10"); 
+0

謝謝您的答覆。我最初對我的問題是含糊不清的。我已經改變了這個問題,所以如果你知道我能如何解決這個很好的改變的問題。 – LiamHall