所以,我有一个 ASP 下拉列表(这是 .net 2.0)。我将它与数据绑定。基本上,当页面加载并且它不是回发时,我们将获取记录数据,绑定所有下拉菜单,并将它们设置为适当的值(严格来说,我们:使用数据库中的基本数据集初始化页面,绑定下拉菜单从数据库中,从数据库中获取实际记录数据,此时将溺水设置为适当的设置)。我想要做的是有选择地设置列表选项的样式。所以数据库返回 3 个项目:ID、文本和一个标志,指示我的记录是否是“活动的”(我会适当地设置样式)。这很容易做到,我已经做到了。
我的问题是当表单提交停止时会发生什么。我们稍微扩展了 Page 类并创建了一个 AddError() 方法,该方法将从失败的业务规则检查中创建一个错误列表,然后将它们显示在 ValidationSummary 中。在提交按钮的点击事件中,它的工作原理如下:
CheckBizRules();
if(Page.IsValid)
{
SaveData();
}
如果任何业务规则检查失败,则页面将无效。问题是,当页面重新渲染(启用视图,但没有数据反弹)时,我美丽的条件样式现在很遗憾地消失了,去生活在丢失袜子的土地上。我需要保存它。
我希望在这里避免另一个数据库调用(例如,如果页面无效,则再次从数据库中获取列表数据,只是为了重新设置列表样式)。但是,如果这是我的行动方针,那还不是世界末日。我希望有人可能有其他建议。
我想不出如何更好地表达这个问题,如果有人有任何建议或需要澄清,请毫不犹豫地得到它,如果需要的话。;)