2010-04-02 2 views
0

다시 한 번 마이크로 소프트 빈약 한 문서가 나를 혼란에 빠뜨렸다. NET 4.0 프레임 워크의 새로운 기능을 사용하려고합니다. 다음 코드를 사용하여 제목과 디렉터를 채우지 만 공백이 계속 발생합니다.MS AJAX 라이브러리 4.0 Sys.create.dataView

서비스가 제대로

[d: { title = "ss, director ="" } 그런 일하지만 결코 채워 않겠다 리튬과 같은 결과를 반환합니다.

<script language="javascript" type="text/javascript"> 

     Sys.require([Sys.components.dataView, Sys.components.dataContext,Sys.scripts.WebServices], function() { 

      Sys.create.dataView("#moviesView", 
    { 
     dataProvider: "MovieService.svc", 
     fetchOperation: "GetMovies", 
     autoFetch: true   


    }); 

     }); 

</script> 

그리고 여기에 HTML 코드 :

<ul id="moviesView"> 

    <li> 
    {{Title}} - {{Director}} 
    </li> 

    </ul> 

이 파일을 Start.js 최신 URL입니다. 당신은 정렬되지 않은 목록 태그에 SYS-템플릿 클래스 속성을 추가 할 필요가

[ServiceContract(Namespace = "")] 
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
    public class MovieService 
    { 
     [OperationContract] 
     public Movie GetMovies() 
     { 
      return new Movie() { Title = "SS", Director = "SSSSS" }; 
     } 
    } 

    [DataContract] 
    public class Movie 
    { 
     [DataMember] 
     public string Title { get; set; } 

     [DataMember] 
     public string Director { get; set; } 
    } 

답변

1

: 여기

<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js"></script> 

은 Ajax 기반 WCF 서비스입니다. 여기
<ul id="moviesView" class="sys-template"> 

는 는 SYS-템플릿 CSS 클래스 이 적용되어 있어야합니다 템플릿 부모 요소 을 정의 Client-side Data Binding in ASP.NET AJAX 4.0

한 다른 요구 사항에서 발췌, 그리고 그 클래스는 정의해야합니다 디스플레이가 none으로 설정된 경우 위의 예에 표시된 으로 표시됩니다. 이 규칙은 두 가지 목적 - 그것은 는 파서가 요소 (우리가 선언 인스턴스를 사용할 때 중요하게 될 것이다) 페이지에 템플릿의 일부를 식별하는 데 도움이, 그리고 ASP 때까지 숨겨진 템플릿 마크 업을 유지합니다. NET Ajax가 바인딩을 완료했습니다 ( 은 디스플레이가 으로 표시되도록 토글합니다).

+0

감사합니다. 그거였다! ms Ajax 프레임 워크가 moviesView와 같은 컨트롤의 ID를 사용할 수없고 sys-template 클래스를 잊을 수없는 이유가 궁금합니다. 이것은 조금 더 많은 작업처럼 보입니다. – azamsharp

관련 문제