c# - ASP.NET MVC 3 路由参数问题

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

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

最佳答案

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

public ActionResult MyAction(int x)
{

}

一旦您这样做,它就会如您所愿地工作。

关于c# - ASP.NET MVC 3 路由参数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7109360/

相关文章:

c# - c#中xlsx中xml的文件路径

c# - 在抽象父类(super class)的子类中强制使用属性

mysql - 如何通过下拉列表从数据库中删除值?

c# - 上传前验证文件大小

c# - 无法在 .net core 3 + angular 应用程序中加载 AuthorizeService 中的设置

c# - 无法从 Process.Start 运行命令

javascript - 为什么我的 XSLT 格式在 Windows 10 操作系统的 Microsoft Edge 中无法正常工作?

asp.net - 使用 AddWithValue 插入 - 抛出错误?

c# - 生成进程时如何重定向标准输出

jquery - 为什么不引人注目的验证只有在 AJAX 发布之后才起作用?