SelectListItem/Bound properties overridden the second time a page is loaded

First time thru code is fine. Second time thru, the Selected value is ignored. See below code:

@model IndexModel
    ViewData["Title"] = "Home page";
    Random rnd = new Random();
    int MaxTurn = rnd.Next(1, 10);
    List<SelectListItem> TurnList = new List<SelectListItem>();
    // add all turns to turn list
    for (int i = MaxTurn; i >= 0; --i)
        TurnList.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() });
    // make selected item the largest turn
    Model.SelectedTurn = new string(MaxTurn.ToString());
    // if largest turn exists in list, make sure it is selected
    if (TurnList.Exists(f => f.Text.Equals(Model.SelectedTurn)))
        TurnList[TurnList.FindIndex(f => f.Text.Equals(Model.SelectedTurn))].Selected = true;

    // double check - is there a selected item?
    SelectListItem itm = TurnList.Find(f => f.Selected);
    // if it exists, does it equal the max turn?
    if (itm != null && !itm.Value.Equals(MaxTurn.ToString()))
    {// if not, select it...
        TurnList.Select(s => s.Value.Equals(MaxTurn.ToString()));
    else if (itm == null)
    {// otherwise, if nothing is selected, create a null item and make sure the first item is selected
        itm = new SelectListItem { Value = "null", Text = "null" };
        Model.SelectedTurn = new string(TurnList[0].Text);
        TurnList[0].Selected = true;

    <div class="text-center">
        <h1 class="display-4">Welcome</h1>
            <strong>Turn #: </strong>@Html.DropDownListFor(e => e.SelectedTurn, TurnList)
            <p>The value of MaxTurn is: @MaxTurn</p>
            <p>The value of the original selected item is: @itm.Value</p>
            <p>The value of the new selected item is: @TurnList.Find(s => s.Selected).Value</p>

Does the browser retain the selected item even though I'm resetting the selected value?

Only other relevant code:

        public string SelectedTurn { get; set; } = new string("");