Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可为nullable的ASP.NET Core 3.1 ModelState验证失败_Asp.net_Asp.net Core - Fatal编程技术网

可为nullable的ASP.NET Core 3.1 ModelState验证失败

可为nullable的ASP.NET Core 3.1 ModelState验证失败,asp.net,asp.net-core,Asp.net,Asp.net Core,我遇到的问题是,如果您为一个项提供了一个null值(可以为null),则ModelState.IsValid会标记一个验证错误,表示“值ParentID对ParentID无效” 我希望[int?]允许null 控制器: [HttpPost] [ValidateAntiForgeryToken] [Route("common/menu-setting/add")] public IActionResult AddMenuSetting(Menu model) { if (!ModelSta

我遇到的问题是,如果您为一个项提供了一个null值(可以为null),则
ModelState.IsValid
会标记一个验证错误,表示“值ParentID对ParentID无效”

我希望[int?]允许null

控制器:

[HttpPost]
[ValidateAntiForgeryToken]
[Route("common/menu-setting/add")]
public IActionResult AddMenuSetting(Menu model)
{
    if (!ModelState.IsValid)
    {
        ViewData["ParentMenus"] = _commonRepository.GetParentMenus();
        return View(model);
    }
    var returnValue = _commonRepository.AddMenu(model);
    if (!returnValue)
    {
        return RedirectToAction("AddMenuSetting");
    }
    return RedirectToAction("MenuSetting");
}
型号:

public class Menu
{
    public int MenuID { get; set; }
    public string MenuName { get; set; }
    public int? ParentID { get; set; }
    public string ParentMenuName { get; set; }
    public int SortGroup { get; set; }
    public int Sort { get; set; }
}

您是否有多个
菜单
类,是否已检查是否使用了正确的类?您收到的错误与您向我们显示的代码不符。我同意@Marco-您是否试图将
ParentID
设置为“null”字符串?您可能需要返回值“”(空字符串)而不是“null”。