2011-09-30 34 views
0

我有一個場景,WCF將下面的數據(在下面給出的函數中)返回給VIEW。如何在View中處理WCF的JSON輸出(MVC3)

private List<KeyDatesCalendar> GetKeyDatesCalendarData() 
    { 
     //Dummy Data for BrandsCalendar CheckList 
     var keyDatesCalendar = new List<KeyDatesCalendar>() 
     {  

      new KeyDatesCalendar() 
      { 
       EventText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
       EventDate = new DateTime(2011, 02, 09), 
       EventType = 3 
      }, 

      new KeyDatesCalendar() 
      { 
       EventText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
       EventDate = new DateTime(2011, 03, 05), 
       EventType = 3 
      }, 

      new KeyDatesCalendar() 
      { 
       EventText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
       EventDate = new DateTime(2011, 03, 06), 
       EventType = 4 
      }, 

};

在視圖中的數據的處理是通過下面的代碼來完成:

initCalendars({ 
    from  : '02/01/2011', 
    to   : '01/31/2013', 
    dates : [ 
     @for(int i=0, [email protected]; i<l; i++) 
     { 
      @Html.Raw("['" + @Model.KeyDatesCalendar[i].EventDate.ToString("yyyy/MM/dd") + "'," + @Model.KeyDatesCalendar[i].EventType + ",'" + @Model.KeyDatesCalendar[i].EventText + "']" + (i < (l-1) ? "," : "")); 
     } 
    ] 
}); 

代替在WCF方法的硬編碼值,如何收到一個JSON輸出並處理在查看同一的。

我是初學者,非常感謝您的詳細解答。

感謝, 阿達什訥

+0

JSON通常用於javascript。您的視圖在服務器端使用WCF響應來呈現html。所以只是想知道爲什麼你想使用JSON?在你的場景中,WCF返回'List '比JSON字符串更有意義。 – Jags

+0

嗨,詹姆斯,可能的原因是我們將收到的數據(EventText,EventDate,EventType)是以XML的形式(來自外部系統,所以我被告知要在JSON中處理它並將其呈現在View中,這是隻是一個示例,因此在WCF方法中進行了硬編碼。讓我知道是否需要更多信息。 – KeenUser

+0

然後,最好在控制器(或服務層)中解析JSON並將其作爲對象傳遞給視圖Model) –

回答

1

我將與許多先前的評論的同意,如果你使用ASP.NET MVC,你不妨做從那裏JSON轉換(看看JsonResult類)。但是,如果您確實希望WCF服務以JSON格式返回結果,那麼我寫了一段時間的博客文章可能會有所幫助。

Iain