0

1つにはtxtDateReceivedがあり、もう1つにはtxtVendorPackDateがあります。挿入してレコードを追加する前に、txtDateReceivedがtxtVendorPackDateより前でないかどうかを確認する必要があります。TextChangedイベントを使用してみます。

protected void txtVendorPackDate_TextChanged(object sender, EventArgs e)
{
    DateTime fromDate = DateTime.MinValue;
    DateTime toDate = DateTime.MaxValue;
    bool parseResultMin = DateTime.TryParse(txtVendorPackDate.Text, out fromDate);
    bool parseResultMax = DateTime.TryParse(txtDateReceived.Text, out toDate);
    if (toDate < fromDate)
    {
        txtVendorPackDate.Text = "";
        lblDateExpired.Visible = true;
        lblDateExpired.Text = "Selected date is incorrect, please enter correct data.";
        txtVendorFatPerc.Focus();
    }

    double expired = toDate.Subtract(fromDate).TotalDays;

    if (expired >= 60)
    {

        lblDateExpired.Text = "Date Expired " + expired + " days after pack day!!!" 
        lblDateExpired.Visible = true;
    }  
} 

コントロールの検証を使用せずに、クライアント側からそれを行う方法。

4

2 に答える 2

1

これを試して

if (!parseResultMin || !parseResultMax || toDate < fromDate)

コードで、両方の日付が無効でtoDateあり、fromDate両方が無効である場合DateTime.MinValue、式toDate < fromDateは真ではありません。

于 2012-06-15T20:02:01.360 に答える
0

CompareValidatorコントロールを使用して、ベンダーパックの日付が受信した日付よりも短いことを確認できます。両方のフィールドが必須の場合は、RequiredFieldValidatorを使用することもできます。RequiredFieldValidatorsとCompareValidatorsの組み合わせを採用します。

ユーザーが値を入力することを確認するために、テキストボックスごとに1つのRequiredFieldValidator。入力された値が日付型であることを確認するために、テキストボックスごとに1つのCompareValidator。1つのCompareValidatorを使用して、ベンダーパックの日付が受信した日付よりも前であることを確認します。

于 2012-06-15T19:57:33.810 に答える