为 MVC 6 中的异步操作生成空 link
Empty link generated for asynchronous Action in MVC 6
根据 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")
生成的 link 如下所示:
<a href="">Show data</a>
如果我将其更改为同步:
public IActionResult ShowData()
{
GetData();
return View();
}
然后生成正确的 link:
<a href="/Blog/ShowData">Show data</a>
我应该设置什么以使 MVC 6 支持异步操作?
您的操作方法名称是 ShowDataAsync
,您的视图代码需要反映该名称。
@Html.ActionLink("Show data",actionName: "ShowDataAsync", controllerName: "Blog")
根据 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")
生成的 link 如下所示:
<a href="">Show data</a>
如果我将其更改为同步:
public IActionResult ShowData()
{
GetData();
return View();
}
然后生成正确的 link:
<a href="/Blog/ShowData">Show data</a>
我应该设置什么以使 MVC 6 支持异步操作?
您的操作方法名称是 ShowDataAsync
,您的视图代码需要反映该名称。
@Html.ActionLink("Show data",actionName: "ShowDataAsync", controllerName: "Blog")