私はC#オブジェクトを構築して、すべてのパラメータを文字列として受け入れるWebアプリケーションに、より強く型付けされたプロパティを追加します。このWebアプリケーションでは、レコードの現在の値がすべて左側に表示され、右側に空白のフィールドが表示されます。テキスト入力フィールドを空白のままにすると、データベースの対応する値は変更されません。新しい値を入力すると、submit時に、対応する値が入力した新しい値に変更されます。アプリでDateTimeプロパティに文字列プロパティを追加する
は、日付フィールドは、MM/DD/YYYYフォーマットされた文字列に入力されます。私はC#オブジェクトにDateTime equivilentsを作成し、Webアプリケーションに送るときに.ToString( "MM/dd/yyyy")を使用します。
public DateTime NewHireDate
{
get
{
return (DateTime.TryParse(NewValue11, out dateValue) ? dateValue : DateTime.MinValue);
}
set
{
NewValue11 = value.ToString("MM/dd/yyyy");
}
}
一つのしわは、ウェブアプリは、基本的に日付フィールドでの値を出しnullに「BLANK *」ユーザーが入力することができるということです。文字列「* BLANK」を自分の日付プロパティの値として割り当てることで、その正確な能力をオブジェクトに拡張したいと考えています。私はmyObject.NewHireDate =「* BLANK」を使用できるよう
にはどうすれば文字列としてNewHireDateプロパティを再定義するのでしょうか?
ですね'ではなく 'DateTime'の - プロパティをその時点では、あなたが'に変換でき値 'null'なのでを、」割り当てることができます*文字列プロパティのための "BLANK"。すでに*文字列プロパティを持っています - それで '* BLANK"を使うべきです。 –
これは、プロパティにnullを割り当てると、このシナリオでは値を変更しないようにWebアプリに指示するフィールドを空白のままにすることと同じになります。 –
さて、2つのセンチネル値が必要なように聞こえます - ヌルと何か他のもの(潜在的には 'DateTime.MinValue'となる可能性があります)でも、文字列プロパティを' '* BLANK" ' 。 –