导读:
這是目前我的方案,個人覺得還蠻輕巧自在的。 Controller負責把要輸出的資料序列成json。
Html.ActionUrl 這隻method原來的MVC Toolkit沒有,我隨手加的。
我 是用Newtonsoft.Json作物件序列成JSON,那為什麼不用MS Ajax內建的 System.Web.Script.Serialization.JavaScriptSerializer 來做,是因為他將DateTime序列成字串格式,Client 端無法直接取用。Newtonsoft.Json的部份我也是小改一點,讓他可以做Value Type 的序列化,可參考。
附帶一提,我是架在iis 5.1上測試,本來看到 IIS 6.0 和 ASP.NET 3.5 / VS 2008 的相容性測試,己為會很困難的,大概是測MVC Web Project比較單純吧,裝完 .NET Framework 3.5再裝 ASP.NET 3.5 Extensions Preview(是的,目前只是preview版),直接就ok了。
底 下的流程 Controller(AjaxTest) -> View(AjaxPage) -> Controller(Ajax, id=1) -> View(AjaxPage) 取得json ->Controller(Ajax, id=2) -> View(AjaxPage) 取得json -> end ,大概是這樣。(如果畫成圖會比較漂亮吧)
ControllerBase.cs
publicclassControllerBase : Controller {
publicvoidRenderJSON(objectobj) {
strin
這是目前我的方案,個人覺得還蠻輕巧自在的。 Controller負責把要輸出的資料序列成json。
Html.ActionUrl 這隻method原來的MVC Toolkit沒有,我隨手加的。
我 是用Newtonsoft.Json作物件序列成JSON,那為什麼不用MS Ajax內建的 System.Web.Script.Serialization.JavaScriptSerializer 來做,是因為他將DateTime序列成字串格式,Client 端無法直接取用。Newtonsoft.Json的部份我也是小改一點,讓他可以做Value Type 的序列化,可參考。
附帶一提,我是架在iis 5.1上測試,本來看到 IIS 6.0 和 ASP.NET 3.5 / VS 2008 的相容性測試,己為會很困難的,大概是測MVC Web Project比較單純吧,裝完 .NET Framework 3.5再裝 ASP.NET 3.5 Extensions Preview(是的,目前只是preview版),直接就ok了。
底 下的流程 Controller(AjaxTest) -> View(AjaxPage) -> Controller(Ajax, id=1) -> View(AjaxPage) 取得json ->Controller(Ajax, id=2) -> View(AjaxPage) 取得json -> end ,大概是這樣。(如果畫成圖會比較漂亮吧)
ControllerBase.cs
publicclassControllerBase : Controller {
publicvoidRenderJSON(objectobj) {
strin