2013-10-16 4 views
0

사용자가 자신의 웹 페이지에 간행물의 간단한 목록 (UL 및 LI 사용)을 포함시킬 수있는 메커니즘을 만들고 싶습니다.WCF 데이터 서비스 HTML

데이터 소스가 SSRS 데이터베이스이므로 WCF 데이터 서비스 사용을 고려하고있었습니다. 하지만 WCF 데이터 서비스는 ATOM 또는 JSON 데이터 만 반환한다는 것을 알았습니다.

내가 잘못된 나무를 짖고 있습니까?

+0

최근 프로젝트 중 일부는 WCF 웹 서비스를 사용하여 HTML 드롭 다운을 아무 문제없이 채우고 있습니다. 우리의 경우에는 반환 형식을 문자열 목록 (VB.net)으로 설정하고 javascript를 사용하여 반환 값 (배열로 나타남)을 읽고 드롭 다운에 대한 새 옵션을 만들었습니다. 의심의 여지는 없지만 사용자가 웹 서비스 호출을하고 목록을 채우기에 충분한 자바 스크립트를 알기를 기대하는 것은 다소 어려울 수 있습니다. 당신이 그 코드를 제공한다면 나는 어떤 문제도 없을 것이라고 생각합니다. – StMotorSpark

답변

0

왜 UL 및 리튬

WCF의 간단한 형태이다 내가 웹 API를 사용한 아래의 코드와 데이터를 표시하는 반환 된 JSON 데이터와 사용 MustacheJs 또는 기타 자바 스크립트 템플릿 도구를 사용하지 마십시오 데이터 서비스. JSON dat을 반환하는 모든 것을 사용할 수 있습니다.

콧수염 템플릿

<script id="RoleTemplate" type="Mustache/html"> 
    {{ #roles }} 
     <UL> 
       <Li>{{RoleID}} - {{RoleName}} ({{Description}}) </Li> 
     </UL>  
{{ /roles }} 

웹 API 컨트롤러 코드

public class SecurityController : ApiController 
{ 


    // GET api/<controller> 
    /// <summary> 
    /// Get all role details 
    /// </summary> 
    /// <returns></returns> 
    [HttpGet] 
    public List<Role> GetAllRoles() 
    { 
     myApp.Security.Services.ISecurityService objSecurity = new myApp.Security.Services.SecurityService(); 
     return objSecurity.GetAllRole(); 
    } 
} 

Ajax 호출

 function getAllRoles() { 
     $.ajax({ 
      dataType: "json", 
      url: '/api/Security/GetAllRole', 
      success: function (data) { 
       data = { 'roles': data }; // formatting the data to support the mustache format 
       var html = Mustache.to_html($('#RoleTemplate').html(), data); 
       $('#tblRole').append(html); 


      } 
     });