2011-08-18 182 views
4

我有一個調用PHP腳本(script.php)的桌面系統,我發送一個由「x」調用的參數給這個腳本(例如:script.php?x = 123) ,但現在的PHP腳本被重寫ASP.NET/MVC,但我不能改變的桌面系統,然後我創建這樣的路線:ASP.NET MVC 3路由參數問題

routes.MapRoute("ScriptPHP", 
    "myscript/script.php", 
    new { controller = "MyController", action = "MyAction", x = UrlParameter.Optional } 
); 

的問題是:MyAction接收參數名爲「id」(MyAction(int id)),並且此路由只在我調用「script.php?id = 123」時有效。

如何發送參數「x」並將此路由轉換爲「x」爲「id」參數名稱?這是可能的?

注意:我無法更改操作參數。

回答

1

你需要改變你的操作方法是以下

public ActionResult MyAction(int x) 
{ 

} 

一旦你這樣做,因爲你希望它會工作。

+0

謝謝,但我無法更改參數,但您的回覆已打開我的想法,我將爲此路線創建一個新操作,謝謝。我不能相信我以前沒有想到它,有時我們爲了簡單的事情尋求硬解。 – Cesar

0

看一看here。您可以將其擴展到別名查詢參數。

+0

謝謝@Mrchief,但這是一個非常醜陋的解決方案,但謝謝你的迴應。 – Cesar