如何从路径调用控制器操作?

时间:2017-10-30 19:10:19

标签: asp.net-mvc asp.net-web-api asp.net-core

有没有办法以编程方式调用控制器的动作?

例如:

Column Q

我知道我可以直接使用“controller.MyAction(2)”但我在字符串中有路径和查询,我想直接映射到函数和参数。

环境:ASP NET CORE 2.0

更新

我没有从另一个控制器调用它。我需要从外部事件触发的常规函数​​中调用它。收到的数据是路径和查询,例如“/ myAction?param1 = 2”

1 个答案:

答案 0 :(得分:4)

您可以通过将字符串拆分为此类

来从控制器中调用它
string urlPath = "/myAction?param1=2";
string[] str = urlPath.Split(new[] { "/", "?", "=" },StringSplitOptions.RemoveEmptyEntries);
var actionName = str[0];
var parameterVal = str[2];
return RedirectToAction(actionName, CONTROLLERNAME, new { parameterVal });