繁体   English   中英

将日期字符串从C#控制器传递给Javascript函数会更改字符串

[英]Passing a date string from a C# controller to a Javascript function is altering the string

我遇到一个问题,就是我的控制器将ViewData传递给视图,然后由javascript函数使用了该视图。 ViewData是格式化为字符串的日期。 但是一旦传入Javascript,该字符串就会变成“ 0.021978021978021976”,而不是“ mm / dd / yy”格式。 是什么原因造成的? 这是生成该视图数据的控制器中的代码。

        string dateString;
        string cultureConfigKey = System.Configuration.ConfigurationManager.AppSettings["InstanceCulture"];
        DateTime? lastEntryDate = null;
        DataSet dSet = DataHelper.Measurements_GetLastMeasurement(userSession.UserIDNative);                
        foreach (DataRow dr in dSet.Tables[0].Rows)
        {
            lastEntryDate = (DateTime?)dr["When"];                                 
        }

        // format date based on culture and convert it to string
        if (cultureConfigKey == "en" )
        {                
            ViewData["DateString"] = dateString = String.Format("{0:MM/dd/yy}", lastEntryDate);
        }

在视图中,我按照以下方式引用ViewData

        @
        {
            var dateString = ViewData["DateString"];
            // calling @dateString in this point shows the string in proper format
        }

        // further down in the view I pass the dateString into the following function which generates some markup that is supposed to prinout out this date string with in it. 
        buildNotification(@dateString);

        // the above function is built in an outside .js file here is its declaration 
        function buildNotification(dateString){
            $('.stats-chartsView').before(
            '<div class="noData-popup">' +
                '<p class="noData-Img"></p>' +
                '<p class="no-data alert">' + CHART_DATA_NOTIFICATION + '<span>'+ dateString +'</span></p>' +
            '</div>'
            );
        }

        Thanks!

可能是因为您没有在JS函数中使用引号传递此参数并将其视为字符串。

buildNotification(@dateString);

应该

buildNotification('@dateString');

您的JS函数看到的是2013年8月4日,并且很可能对这三个整数进行了长除法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM