Asp.net mvc 选择了错误的默认下拉列表项

Asp.net mvc 选择了错误的默认下拉列表项,asp.net-mvc,iis,amazon-elastic-beanstalk,windows-server-2012,Asp.net Mvc,Iis,Amazon Elastic Beanstalk,Windows Server 2012,我们有一个Asp.NETMVC应用程序,它在一个输入表单上有几个下拉列表 我们按如下方式填充列表: @Html.DropDownListFor(model => model.Title, SelectLists.Title) public class SelectLists { public static IEnumerable<SelectListItem> Title = new[] { new Select

我们有一个Asp.NETMVC应用程序,它在一个输入表单上有几个下拉列表

我们按如下方式填充列表:

@Html.DropDownListFor(model => model.Title, SelectLists.Title)

public class SelectLists
    {
        public static IEnumerable<SelectListItem> Title = new[]
        {
            new SelectListItem {Text = "Title", Value = "", Selected = true},
            new SelectListItem {Text = "Mr", Value = "Mr"},
            new SelectListItem {Text = "Mrs", Value = "Mrs"},
            new SelectListItem {Text = "Miss", Value = "Miss"},
            new SelectListItem {Text = "Ms", Value = "Ms"},
            new SelectListItem {Text = "Dr", Value = "Dr"}
        };
    }
@Html.DropDownListFor(model=>model.Title,SelectLists.Title)
公共类选择列表
{
公共静态IEnumerable Title=new[]
{
新建SelectListItem{Text=“Title”,Value=”“,Selected=true},
新建SelectListItem{Text=“Mr”,Value=“Mr”},
新建SelectListItem{Text=“Mrs”,Value=“Mrs”},
新建SelectListItem{Text=“Miss”,Value=“Miss”},
新建SelectListItem{Text=“Ms”,Value=“Ms”},
新建SelectListItem{Text=“Dr”,Value=“Dr”}
};
}
默认选择的值在部署到生产环境之后是正确的,但经过一段时间之后,似乎会发生的是,对于所有下拉列表,随机值在页面加载时开始被选择

当我们检查表单上的元素时,
selected=“selected”
属性设置在错误下拉列表中错误显示的值上

当我们重新部署应用程序时,问题似乎暂时消失了,这让我们相信这可能是IIS的问题


应用程序正在AWS Elastic Beanstalk上的windows server 2012上的IIS上运行

我从微软的热心人那里得到了这个问题的答案。他们建议删除静态列表,并通过ViewModel传递非静态列表。在web应用程序上具有静态信息意味着此数据存储在IIS的应用程序域中,并且在加载时可能会受到影响

这是通过视图模型还是ViewBag/Session传递给视图的?当视图加载时,模型的值是多少?@JB06是传递给视图的值?@markpsmith它被设置为默认为空string@ahammond下拉列表的集合