我们有一个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上运行。
答案 0 :(得分:0)
我收到了微软这位相当有帮助的人的回答。他们建议删除静态列表并通过ViewModel传递非静态列表。在Web应用程序上拥有静态信息意味着此数据存储在IIS中的应用程序域中,并且可能会在负载下受到影响。