ASP.NET MVC 3路由参数问题

时间:2011-08-18 14:46:50

标签: c# asp.net asp.net-mvc-3 routes

我有一个调用PHP脚本(script.php)的桌面系统,我将一个名为“x”的参数发送到此脚本(例如:script.php?x = 123),但现在PHP脚本正在在ASP.NET / MVC中重写,但我无法更改桌面系统,然后我创建了这样的路由:

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”参数名称?有可能吗?

注意:我无法更改操作参数。

2 个答案:

答案 0 :(得分:1)

您需要将操作方法​​更改为以下

public ActionResult MyAction(int x)
{

}

一旦你这样做,它就会像你期望的那样工作。

答案 1 :(得分:0)

看看here。您可以将其扩展为别名查询参数。