2011-08-18 134 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