Основной строковый массив MVC в атрибуте Bind - PullRequest
0 голосов
/ 21 марта 2019

Итак, у меня есть контроллер, на котором, когда я хочу опубликовать модель, я хочу привязать только определенные поля.Я хочу извлечь массив params из тега [Bind], так как он может быть очень длинным.Как мне это сделать?В настоящее время я получаю «Аргумент атрибута должен быть константным выражением, выражением typeof или выражением создания массива типа параметра атрибута», когда я пытаюсь использовать приведенный ниже код.

protected static readonly string[] BINDABLE = { "PartID", "InternalPartNum",  "ManufacturerPartNum" };

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create([Bind(BINDABLE)]PartModel model)
{
    if (!ModelState.IsValid)
    {
        ViewData["ObjectName"] = OBJECT_NAME;
        return BadRequest(ModelState);
    }
    _partDAO.Insert(model);
    return RedirectToAction(nameof(Index));
}

1 Ответ

0 голосов
/ 22 марта 2019

Для Bind, он может принимать String, вы можете попробовать workaroud ниже:

protected const string BINDABLE = "PartID,InternalPartNum" ;

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create([Bind(BINDABLE)]PartModel model)
{
    return Ok();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...