有没有办法以编程方式调用控制器的动作?
例如:
Column Q
我知道我可以直接使用“controller.MyAction(2)”但我在字符串中有路径和查询,我想直接映射到函数和参数。
环境:ASP NET CORE 2.0
更新
我没有从另一个控制器调用它。我需要从外部事件触发的常规函数中调用它。收到的数据是路径和查询,例如“/ myAction?param1 = 2”
答案 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 });