从ActionResult 在ASP.Net Core API方法中获取值

问题描述 投票:0回答:1

我尝试在ASP.Net Core API方法中从ActionResult获取值。

API具有不同的控制器。我尝试使用控制器A中控制器B的方法来返回其结果值。我从控制器B获取了一个ActionResult对象。我可以在ResultObject中看到带有调试器的值,但是如何访问其中的Result-Value?

    public ActionResult<object> getSourceRowCounter(string sourcePath) //Method from Controller A
    {

        var result = ControllerB.GetValue($"{sourcePath}.{rowCounterVariableName}");  
        var result2 = result.Value; //null
        var result3 = result.Result; //typ: {Microsoft.AspNetCore.Mvc.OkObjectResult} <-see Value=4 in it with Debugger
        //var result4 = result3.Value; //Error?!
        //var result5 = result3.Content; //Error?!
        //var result6 = result3.?????; //How can i get the Value = 4?
        return Ok(result); //should only return value 4 and not the whole object
     }

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS80THBwaS5qcGcifQ==” alt =“在此处输入图像描述”>

c# asp.net api core actionresult
1个回答
0
投票

如果您确定它是OkObjectResult类型,则在进行如下操作之前先进行投射:

var result3 = (OkObjectResult)result.Result; // <-- Cast is before using it.
var result4 = result3.Value; //<-- Then you'll get no error here.
© www.soinside.com 2019 - 2024. All rights reserved.