0
當前我有一個IActionFilter
接受List<T>
作爲參數。在該動作方法中,我檢查發佈的視圖模型值。它看起來像這樣:獲取定製modelbinder中發佈的值
[HttpPost]
public async Task<IActionResult> SavePage(List<BaseField> fields)
{
for (var i = 0; i < fields.Count; i++)
{
if (fields[i].Type == "bb")
{
var inputObj = new InputConfigViewModel();
await TryUpdateModelAsync(inputObj, $"fields[{i}]");
}
if (fields[i].Type == "ee")
{
var tObj = new TextareaConfigViewModel();
await TryUpdateModelAsync(tObj, $"fields[{i}]");
}
}
return RedirectToAction("Index", "Dashboard");
}
這個工程到目前爲止。但是我想將這些代碼抽象到一個自定義類ModelBinder
。
public class BaseFieldModelBinder : IModelBinder
{
public Task BindModelAsync(ModelBindingContext bindingContext)
{
// Need access to "List<BaseField> fields"...
return Task.CompletedTask;
}
}
我怎樣才能訪問List<BaseField> fields
值在我ModelBinder
,就像我可以從操作方法在我Controller
?