2013-05-27 97 views
1

我有我的apicontroller數據在以下way-傳遞JSON數據查看

public class OutletPOCController : ApiController 
{ 
    OutletPOCContext db = new OutletPOCContext(); 

    [System.Web.Http.ActionName("GetTabText")] 
    public TabTextModel GetTabText(int bizId) 
    { 
     var outlet = db.Info.Where(t => t.BizId == bizId).SingleOrDefault(); 
     return new TabTextModel 
     { 
      HomeTab = outlet.BizHomeTabText, 
      AboutTab = outlet.BizAboutTabText, 
      TimingsTab = outlet.BizTimingsTabText, 
     }; 
    } 

,現在我想找回這些數據轉化爲我的看法。我應該如何創建該控制器的視圖並傳遞上述數據?什麼將是我的行動方法?我是webapi和json的新手。任何幫助是可觀的!提前致謝!

+0

待辦事項你的意思是你想要在基礎頁面加載後使用Javascript從客戶端獲取數據,或者想要在視圖中獲取數據並直接使用它? – JensB

+0

我想將數據顯示在上面webapi中的視圖 – Priyanka

+1

請看這裏http://www.codeproject.com/Articles/344078/ASP-NET-WebAPI-Getting-Started-with-MVC4-和WebAP的教程。 – christiandev

回答

0

從某種意義上說,API控制器dosent確實有意義,您可以創建一個cshtml頁面來處理如何顯示數據。 ApiController的目的僅僅是以您想要使用它的格式返回數據。

基本上API公開原始數據到網上,你消耗它以某種方式,然後顯示它..

我用一些類似的動態數據加載到一個網頁。 只需將數據返回給客戶端的簡單Web API即可。

public class APIController : ApiController 
{ 
    [HttpGet] 
    [HttpPost] // allow both post and get requests 
    public IEnumerable<String> GetData() 
    { 
     return new List<string>() { "test1", "test2" }; 
    } 
} 

當您瀏覽的API方法上面它返回我開始使用jQuery和做什麼,我請與(http://api.jquery.com/jQuery.get/)XML數據

<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> 
    <string>test1</string> 
    <string>test2</string> 
</ArrayOfstring> 

$.get("/api/GetData", function(data) { 
    alert("Data Loaded: " + data); 
}); 

例子用JS/Jquery解析XML:

如果你只是希望將數據放入一個普通視圖,並沒有去通過JavaScript我wouldent使用的WebAPI有使用它,而是在控制器中獲取數據,並將其發送到顯示視圖(ASP MVC4 - Pass List to view via view model)。

您還可以檢查出ViewBag容器通過隨機奇數據視圖http://goo.gl/03JTR

在你真的想渲染視圖中的數據關閉的機會,檢查了這一點:Web API - Rendering Razor view by default?