在MVC5中,我曾经在控制器操作中获取ValueProvider
,如下所示:
public class ConfigurationsController : Controller
{
public ActionResult Index()
{
var valueProvider = this.ValueProvider;
var someValue = valueProvider.GetValue("someKey");
return View();
}
}
但它似乎在 Asp.NET Core 1.0中消失了。有没有办法在新版本中获取ValueProvider
?
提前致谢
您可以使用
ControllerContext
创建CompositeValueProvider
。
var valueProvider = await CompositeValueProvider.CreateAsync(ControllerContext);
复合值提供程序表示 Microsoft.AspNetCore.Mvc.ModelBinding.IValueProvider 谁的值来了 来自 Microsoft.AspNetCore.Mvc.ModelBinding.IValueProviders.
例
[HttpPost]
public async Task<IActionResult> SomeAction()
{
var valueProvider = await CompositeValueProvider.CreateAsync(ControllerContext);
var someValue = valueProvider.GetValue("foo");
return View();
}