2013-12-18 3 views
0

안녕하세요,보기에 값 목록을 표시하고 싶습니다. 아약스 게시 기능을 사용하고 컨트롤러에서 값을 전달할 수 있어요.MVC에서 JQuery를 사용하여 개체의 값 목록 중에서 값을 선택하는 방법

해당 값에 액세스하려고 시도했지만 표시되지 않습니다.

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

당신은 아무것도를 받고 있습니까? 데이터에 데이터가 있습니까? 콘솔에 오류가 있습니까? – Gobo

+0

@Gobo 오류가 없습니다. 나는 객체를 얻고 있지만 객체의 값을 원한다. – user2619542

+0

[MVC 3 면도기보기의 계단식 드롭 다운] 가능한 중복 (http://stackoverflow.com/questions/4458970/cascading-dropdowndown-in-mvc-3-razor-view) – rexcfnghk

답변

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 형식으로 날짜가 다음을 수행해야 짧은 날짜로 숨기고, 아래의 기능을 사용하십시오.

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 – user2619542

+0

개체 목록이 나타납니다. 내 model.LoanHistory가 10 개의 항목 목록을 가지고 있다고 가정하면 [Object : object]와 같은 10 개의 객체가 표시됩니다. 이게 내가 가진 문제 야. 개체에서 값을 가져와야합니다. – user2619542

+0

우리는 10 개의 항목 (객체)을 얻고 있기 때문에 다시 루프 할 필요가 없다고 생각하지만, 그 방법에 액세스하는 방법이 있습니다. 나는 data.LoanActivityDate와 this.LoanActivityDate를 사용해 보았는데 아무 것도 보여주지 못했다. – user2619542

관련 문제