如何在一定数量的回发后验证

时间:2010-10-18 11:35:14

标签: asp.net postback validation

我有一个特殊的情况,我需要在ASP.Net网络应用程序中验证一对日期。这就是我的页面的样子:

我有一个“From Date”字段,其中包含一组三个下拉列表(适用于年份,月份和日期) 我有一个“To Date”字段,该字段还包含一组三个下拉列表(年份,月份和日期)。 屏幕上有一个“下载报告”按钮(允许用户下载指定日期范围的报告)

所有这六个下拉列表都包含在用户控件中。

现在所有6个下拉列表都有默认的“请选择”值。 当用户第一次登陆页面时,所有下拉列表都设置为“请选择”。 只有在选择了有效的“发件人”和“收件人”日期后,才会启用“下载”按钮。

现在我的要求是:

当用户第一次登陆页面时,不应尝试验证日期,直到他至少选择所有6个下拉列表为止。

选择第6个下拉列表时,应验证From和To日期。 一旦用户选择了所有6个下拉列表,随后在每个下拉列表回发中,都应验证日期。

我的问题:

在开始验证From和To Dates之前,跟踪这6个不同回发(对于每个下拉列表)的最佳方法是什么。 我可以维护一个flagin ViewState ..但是有更好的方法吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我不相信你应该把它们视为 6 不同的回发。用户可能会从其中一个下拉列表中选择一个值,然后将其更改回“请选择”;这样,在选择有效值之前,可能会有很多回发。

同时谈论不同回发并不意味着这将是一个有序的过程,可以在FromDate之前选择ToDate。

因此,我建议您 - 在进行任何日期验证之前 - 确保所有下拉框都选择了一个值,并且只有这样,才能进入下一级验证(例如,确保未选择2月30日)。

我个人根本不会使用ViewState,事实上就是Web表单 - 但这与你的问题无关......