1

私のMVC4 asp.netプロジェクトでは、ajaxを使用してデータベースからビューにdatetimeをバインドしています。

これがajaxコードです。

      $.get(
        '/Child/GetFamilyMemberView', { familyid: hv },
        function (data) {
            var html = "";
            for (var i = 0; i < data.length; i++) {                 
                html += "<p>" + data[i].Family_Member_DateofBirth + "</p>";                 
            }
            $("#getfamilymember").append(html); 
       });

ビューに日時値をバインドした後、次のように出力されます。

/Date(1104517800000)/

なぜこれが起こっているのですか?

助けてください、

ありがとう

4

1 に答える 1

1

これは、ajaxがJSONでデータを渡しているために発生しています。

次のような関数を使用して、Jsonの日付をJavascriptの日付に変換します。

function parseJsonDate(jsonDate) {
    var offset = new Date().getTimezoneOffset() * 60000;
    var parts = /\/Date\((-?\d+)([+-]\d{2})?(\d{2})?.*/.exec(jsonDate);

    if (parts[2] == undefined) 
      parts[2] = 0;

    if (parts[3] == undefined) 
      parts[3] = 0;

    return new Date(+parts[1] + offset + parts[2]*3600000 + parts[3]*60000);
};

更新:このhttp://www.mattkruse.com/javascript/date/を使用して、javascriptの日付を文字列にフォーマットします。

日付を文字列(mm / dd / yyyy)に渡したい場合:

function formatDate(jsDate)
{
   return jsDate.getMonth()+1 + "/" + jsDate.getDate() + "/" + jsDate.getYear();
}
于 2012-11-22T10:32:45.740 に答える