4
mvc 앱에서 Google 차트를 작성하려고합니다. 여기 보기에서 자바 스크립트의 MVC3 모델 속성에 액세스
구글 차트의 조각입니다 자바 스크립트function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Task');
data.addColumn('number', 'Hours per Day');
data.addRows([
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
} 나는 기본적으로 내 모델의 항목을 반복하는 for 루프와 위의 data.addRows 라인을 교체하면된다 싶은 것이
. 나는 물론과 같이 태그의 외부에서보기에 잘 반복 할 수 내가 태그 안에 내 모델을 통해 반복 할 수있는 솔루션을 찾을 수 없습니다
"@foreach (var item in Model) {
<div>@Html.DisplayFor(modelItem => item.Customer.Name)</div>
}"
. 어떤 아이디어? 당신이 어떤 값을 저장하고보기에 따라 통과
public class MyViewModel
{
public object[][] Values { get; set; }
}
있는 :
내 모델에는 "미리 만들어진"값 모음이 없다는 것은 매우 가깝다고 생각합니다. 모델은 실제로 변경하기 어려운 클래스입니다. 이 메서드는 "AppItems"목록을 반환합니다. public List Apps() { Uri appsUri; Uri.TryCreate (ApiTarget, "/ apps", out appsUri); var result = _restClient.Get (appsUri); var apps = JsonConvert.DeserializeObject <목록 > (결과); 앱 돌아 가기; } 그래서 내가 필요하다고 생각하는 항목을 반복하고 그들을 자바 스크립트에 추가하는 방법입니다. –
Chris
@Chris, 당신은 매우 쉽게 변경할 수 있어야합니다. 그것이 뷰 모델이 의도 한 것입니다. 도메인 모델을보기로 전달하지 않습니다. 그렇습니까? 뷰에 대한 특정 뷰 모델을 항상 정의하고 도메인 모델을 통과시키지 않아야합니다. 따라서이 뷰에 필요한 모든 것을 포함 할 뷰 모델을 정의하십시오. 나는 당신이 필요로 할지도 모르는 다른 것들이 무엇인지 모르지만'공공의 가치 '{} Values {get; 세트; } '속성은 자바 스크립트를 생성해야합니다. 필요한 다른 속성을 포함 할 수 있습니다. 따라서 컨트롤러에서 모델을보기 모델에 매핑합니다. –
네, 직접 내 도메인 모델을 뷰에 전달한 것 같습니다. (이 조언을 받아 도메인 클래스를 나타내는 모델을 만듭니다.) – Chris