Async method call in Razor view

2019-02-17 16:41发布

问题:

I have @Html.Translate() extension method, which returns translated string. Translations are stored in database, so I want to make async call to database from helper method. Can I make async method calls from razor view? Is here some workaround to call async methods in razor view?

回答1:

Async method calls from razor view are supported (or will be supported) only in ASP.NET vNext (MVC 6).

If you are using MVC 5 version and eralier, the simplest solution to your problem would be adding a property to your view model and filling it with async call to db. So when your view is rendered all the data will already be in the model and ready for use.

P.S also calling a database from view sounds a little fishy. May be you should review this pattern.