現在、私はモデルのDateTimeプロパティを持っています。私はtelerik MVCフレームワークを使用していますが、DateTimeプロパティを使用しています。このプロパティのエディタカラムは自動生成されるため、ViewまたはControllerでコントロールするコードはありません。 Telerikのウェブサイトには、日付時刻選択ツールのデフォルトの日付時刻を設定する方法が記載されていますが、このピッカーは列内にあるためどこからでも開始されません。問題は、DateTimeがまだ指定されていない場合は現在の日付と時刻に設定することです。現在、モデルのコードは次のようになります。モデルプロパティで「取得」と「設定」を変更するにはどうすればよいですか?
public DateTime CreatedDate { get; set;}
私はそれがよりこのような何かをしたい:それは場合は、この質問のために保存されたDateTimeを返します
public DateTime CreatedDate
{
get
{
if (QuestionID != 0)
{
return this.CreatedDate;
}
else
{
return DateTime.Now;
}
}
set { CreatedDate = value; }
}
このようIDが存在します。新しい質問を作成する場合は、現在のDateTimeを取得します。
問題はここにあります。画面をロードしようとすると、getはスタックオーバーフローを設定します。私はこの種のコードには本当に不満なので、どうやって作業するのか分かりません。
私たちがモデルで作業していないうちに、代わりにJQueryを使用してCreatedDateのデータを取得し、現在の日付時刻に設定しました。その問題は、日付時刻の「ピッカー」部分に移動したときに、現在の時刻ではなくデフォルトの日付時刻になります。これがJqueryではなくModel、View、Controllerを通じて設定する理由です。
私がモデルのゲットとセットを理解できるように助けてくれたら教えてください!
ありがとう、ジャスティン!ソリューションが機能しました。プライベート変数が他の画面で使用されていることに気がつきましたが、どうやってその理由を理解できませんでした。あなたはそれをとてもうまく説明しました。 – egucciar
また、私はプログラミングとデバッグに新しいことがあります。実行中のプログラムの「内部ロジック」を見つけて、何が起きているのかを確認する最も良い方法は何ですか?今、私がしているのは、ブレークポイントが設定され、プログラムを一歩進んだだけです。私はgetとsetのロジックを踏み出すことができるだろうか? – egucciar