选择了错误的默认下拉列表项

时间:2015-10-01 11:22:20

标签: asp.net-mvc iis elastic-beanstalk windows-server-2012

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

我们填写如下列表:

@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"}
        };
    }

在部署到我们的生产环境之后,默认选择的值是正确的但是在一段时间之后,似乎发生的是,对于所有下拉列表,随机值开始在页面加载时被选中。

当我们检查表单上的元素时,selected="selected"属性设置在有问题的下拉列表上错误显示的值上。

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

应用程序在AWS Elastic Beanstalk上的Windows Server 2012上的IIS上运行。

1 个答案:

答案 0 :(得分:0)

我收到了微软这位相当有帮助的人的回答。他们建议删除静态列表并通过ViewModel传递非静态列表。在Web应用程序上拥有静态信息意味着此数据存储在IIS中的应用程序域中,并且可能会在负载下受到影响。