1

sprocがnullを返すと、MinDateとしてC#DateTimeに入ります。このフォームの日付がフロントエンド(MVC / Razor)に到達した場合、比較のためにJavaScriptで独自の「MinDate」タイプを作成します。それらが一致する場合、JavaScript関数から空の文字列を返したいです。ただし、2つの日付は一致しますが、空の文字列を返す「if」ステートメントのブランチは入力されません。斜視になり、一致しているように見えるまで、これら2つの日付を確認しました。関数が空の文字列ではなくMinDateを返すのはなぜですか?(ちなみに、「toString()」メソッドはDateJSライブラリからのものです。)

// Setup a minDate to mimic C#'s Date.MinDate constant.
var minDate = new Date();
minDate.setFullYear(1, 0, 1);
minDate.setHours(0, 0, 0, 0);

function checkDateWithConfig(d, c) {

    alert("Date: " + d);
    alert("minDate: " + minDate);

    if (d == minDate) {
        alert("dates matched");
        return "";
    }
    else
    {
        return d.toString(c);
    }
}

C#からのMinDate:

私のJavaScript

4

1 に答える 1

6

JavascriptDateオブジェクトは参照です。2つのオブジェクトが同じ値を表す==かどうかを確認するために使用することはできません。Date

getTime()代わりに、数値を返す両方の日付のメソッドを比較してください。

于 2012-08-01T14:07:06.127 に答える