Как выбрать значение среди списка значений из объекта в MVC, используя JQuery

0

Привет, я хочу отобразить список значений в представлении. Я использовал функцию ajax post, и я могу передать значения из контроллера для просмотра.

Когда я попытался получить доступ к этим значениям, он не появляется.

Вот моя модель:

public IEnumerable<LoanStatusHistory> LoanHistory { get; set; }

Мой контроллер:

public ActionResult ChangeTimeZone(int id, int loanId)
        {
            LoanInfoResultModel model = new LoanInfoResultModel();
            LoanIdentifier loanIdentifier = new LoanIdentifier(1, loanId);
            model.LoanHistory = LoanTrackerServices.GetLoanStatusHistory(loanIdentifier);           
            return Json(model.LoanHistory.ToList(), JsonRequestBehavior.AllowGet);
        }

Вот мой взгляд

  $.getJSON('@Url.Action("ChangeTimeZone", "RegistrationPage")', { "id": a, "loanId":'@Model.LoanId.LoanId' },
                function (data) {
                    alert("HI");
                    console.log(data);
                    for (var i in data) {
                        //alert(this.data.LoanActivityDate);
                        alert(data[i]);
                    }
                    //$.each(data, function () {
                    //    //alert(data[0].LoanActivityDate);
                    //    alert(data["LoanActivityDate"]);
                    //});
});

Мне не удалось получить значения из данных. Может ли кто-нибудь помочь мне в этом.

  • 0
    Вы что-нибудь получаете? есть ли данные в данных? Есть ли ошибки в вашей консоли?
  • 0
    @Gobo Гобо нет ошибок. Я получаю объект, но я хочу, чтобы значения в объекте.
Показать ещё 1 комментарий
Теги:
asp.net-mvc

1 ответ

1

Если в качестве коллекции используется объект, обратный вызов передается парой ключ-значение каждый раз, поэтому попробуйте выполнить код ниже:

$.getJSON('@Url.Action("ChangeTimeZone", "RegistrationPage")', { "id": a, "loanId": '@Model.LoanId.LoanId' },
   function (data) {
      $.each(data, function (key, item) {
       var sDate = ConvertJsonDateString(item.LoanActivityDate);
       var str = '<li>' + sDate + '</li>';
       $("#contents").append(str);
    });
});

Обновление У вас есть формат json Date, вам нужно скрывать короткую дату, используйте функцию ниже.

    function ConvertJsonDateString(jsonDate) {
        var shortDate = null;
        if (jsonDate) {
            var regex = /-?\d+/;
            var matches = regex.exec(jsonDate);
            var dt = new Date(parseInt(matches[0]));
            var month = dt.getMonth() + 1;
            var monthString = month > 9 ? month : '0' + month;
            var day = dt.getDate();
            var dayString = day > 9 ? day : '0' + day;
            var year = dt.getFullYear();
            shortDate = monthString + '/' + dayString + '/' + year;
        }
        return shortDate;
    };

пример:

<script>
    var jsonDate = '/Date(1375987087000)/';
    var date = ConvertJsonDateString(jsonDate);
    alert(date)  // the result will be 08/08/2013
</script>
  • 0
    Это не проблема с URL. Я могу передать значения, такие как id и loanid этому методу и получить объект, который я возвратил. Единственное, что я не могу получить значения в объекте. @Lin
  • 0
    Я получаю список объектов. Предположим, что моя модель.LoanHistory имеет список из 10 элементов, а затем отображает 10 объектов, например [Объект: объект]. Это проблема, которую я имею. Мне нужно получить значения с в объекте.
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню