0

.NET のカレンダーを使用したくないので、日、月、年の 3 つのドロップダウン ボックスを備えた 1 つの Web ユーザー コントロールが必要です。[コード完了] .

このコントロールを呼び出して、開始年と終了年、選択した日付の有無にかかわらず初期化できるようにしたいと考えています。[コード完了] .

このコントロールは、有効な日付が 1 つ選択されているかどうかを確認し、 bool [CODE DONE]を返します。

次に、私の Web ページで、通常の .NET 検証 (1 つの必須フィールドを関連付ける) で使用できる方法で、その Web ユーザー コントロールが有効かどうかを確認したいと思います。問題は、どこにあるかわからないことです。このコードを配置して、Web ページの検証コントロールに取得します。[コード未完了] .

これどうやってするの?

4

2 に答える 2

1

カスタム サーバー コントロールを検証フレームワークに統合するには、2 つの手順があります。

(1) サーバー側: ValidationPropertyAttribute をクラスに追加する必要があります。これにより、検証フレームワークは検証時に何を見るべきかを認識します。

[ValidationProperty("SelectedDate")]
public class MyDateControl : WebControl
{
    public DateTime? SelectedDate { get { ... } set { ... } }
} 

(2) クライアント側の検証に接続するには、コントロールに関連付けられた入力タグがあることを確認する必要があります。これを行う 1 つの方法は、Web コントロールの HTML の最初の子タグとして <input type="hidden"> をレンダリングすることです。検証フレームワークはそれを拾います。ここで行う残りの作業は、ドロップダウンが変更されるたびに、JavaScript を使用してこの非表示フィールドを設定することです。

このようにして、既存の検証コントロールと結び付けることができます。検証する別の方法が必要な場合は、CustomValidator を確認する必要があります。

于 2009-09-05T15:30:29.403 に答える
0

これにはCustomValidatorコントロールを使用します。クライアント側とサーバー側の両方のバージョンの検証で実装する方法を説明するこのチュートリアルを参照してください。

于 2009-09-05T15:22:55.580 に答える