My razor page has a property of type `Dictionary<string, List<string>>` which represents chosen countries by continent. I would like to bind it to the value of a `<select>` control.

```
//MyPage.cshtml.cs
public class MyPageModel : PageModel
  {
      [BindProperty]
      public Dictionary<string, List<string>?> ChosenCountries { get; } = 
          new Dictionary<string, List<string>?>()
          {
              ["America"] = null
          };

      public List<string> Countries { get; } = new List<string>
      {
          "Mexico", "Canada", "USA"
      };

      public void OnPost()
      {            
          Console.WriteLine(JsonConvert.SerializeObject(Request.Form, Formatting.Indented));
          Console.WriteLine(JsonConvert.SerializeObject(ChosenCountries, Formatting.Indented));
      }
  }

//MyPage.cshtml
@page
@model MyProject.Pages.MyPageModel

@if (Request.Method == "GET")
{
    <form method="POST">
        <select 
            asp-for="@Model.ChosenCountries["America"]" 
            asp-items=@(new SelectList(Model.Countries))>
        </select>
        <button>Submit</button>
    </form>
} 

```

When I GET the page, choose a country and submit, then the following is written to console:

```
[
  {
    "Key": "ChosenCountries[America]",
    "Value": [
      "Mexico"
    ]
  },
  {
    "Key": "__RequestVerificationToken",
    "Value": [
      "CfDJ...."
    ]
  }
]
{
  "America": [
    "Mexico"
  ]
}

```

The result looks ok.

However, when I GET the page again and submit without choosing any country, then the following is written to console:

```
[
  {
    "Key": "__RequestVerificationToken",
    "Value": [
      "CfDJ...."
    ]
  }
]
{
  "__RequestVerificationToken": [
    "CfDJ...."
  ]
}

```

Why is binder creating the token key and deleting the original key in `ChosenCountries` dictionary when nothing is selected?

According to [documentation](https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-6.0#dictionaries) the binder should look for matches to *ChosenCountries[America]* or *[America]* and not finding any source for these matches it should set the target's property `ChosenCountries["America"]` to null.