从Task <iactionresult>返回值

时间:2019-03-23 17:11:07

标签: entity-framework asp.net-core razor-pages

当单击批准按钮时,我有一个在剃刀页上运行的OnGet方法。

正如您在下面看到的那样,运行的实际代码在实用程序类中,并且由于我不想破坏线程过程,因此实用程序类方法也返回Task

当执行返回时,我将“消息”写入浏览器。我的问题是,这不是我要为用户显示的ID。这是实用程序类中可用的sql中的另一列。

所以我的问题是如何更改我的调用以从Utility类方法返回值?

public async Task<IActionResult> OnGetApproveAsync(int id) {

        try {
            await Utils.ApproveOrder(Request, HttpContext, _context1, _context2, _cache, id);
            Message += "Order #" + id + " Approved\n";
            return Redirect("~/Orders/Orders");

        } catch (Exception e) {
            Message += e.StackTrace.ToString();
            return Redirect("~/Orders/Orders");
        }
    }

1 个答案:

答案 0 :(得分:0)

更改Utils.ApproveOrder以返回Task<Utility>并更新模型代码

public async Task<IActionResult> OnGetApproveAsync(int id) {
    try {
        Utility util = await Utils.ApproveOrder(Request, HttpContext, _context1, _context2, _cache, id);
        //use util
        //..
}