为MVC 6中的异步Action生成的空链接

时间:2015-09-18 13:50:15

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

根据this,较旧的MVC支持异步操作,如果它们满足一些签名要求。

我有以下行动:

    public async Task<IActionResult> ShowDataAsync()
    {
        await GetData();
        return View();
    }

    private async Task GetData()
    {
        eredmeny = await client.GetData();
        ViewBag.Eredmeny = eredmeny;
        RedirectToAction("ShowData", "Blog");
    }

我有以下查看代码:

@Html.ActionLink("Show data",actionName: "ShowData", controllerName: "Blog")

生成的链接如下所示:

<a href="">Show data</a>

如果我将其更改为同步:

    public IActionResult ShowData()
    {
        GetData();
        return View();
    }

然后它会生成正确的链接:

<a href="/Blog/ShowData">Show data</a>

我应该设置什么来使MVC 6支持异步操作?

1 个答案:

答案 0 :(得分:2)

您的操作方法名称为ShowDataAsync,您的视图代码需要反映出来。

@Html.ActionLink("Show data",actionName: "ShowDataAsync", controllerName: "Blog")