2010-02-06 86 views
0

現在,我們在工作中如何處理這些事情:有一個.aspx頁面,它在代碼隱藏中完全沒有任何問題,但包含設計視圖中的頁面。然後我們有一個.asmx web服務,它接收帶有JSON內容類型的請求。這些由頁面中的JavaScript調用。此Web服務返回序列化爲JSON的.NET對象以響應這些JavaScript Ajax HTTP POST。從ASP.NET頁面和JSON ASMX Web服務架構切換到MVC

我想切換到MVC,但我不確定如何切換此架構。

基本上我們正在做的是兩兩件事:

1)回覆GET /MyPage.aspx與HTML標記表示頁面
2)在回答與POST /MyPage.aspx/WebMethodName請求。將.NET對象序列化爲JSON。

似乎MVC將是一個消除對Page對象(再次,codebehind沒有使用 - 只有.aspx文件中的HTML標記是)和.asmx Web服務的需要的好方法。沒有?

我需要什麼來開始改變來完成這個開關?它是直截了當的嗎?痛苦?

有人在工作中已經有一個MVC頁面與我的Web Forms .aspx和.asmx Web服務運行在同一個目錄中,但是我沒有看到有關路由的目錄中的任何內容,所以我很困惑。他有一個Views,ViewModels和Controllers子目錄。

回答

0

你有兩個選擇:

  1. 你可以把你的web服務,並繼續使用相同的ASPX爲您的視圖。這需要你的ASPX的很少或根本沒有修改(改變主頁)
  2. 可以保持ASPX和轉換ASMX到控制器方法,它返回JsonResult
+0

如果我將我的方法從ASMX移動到控制器,我應該從該方法中刪除 [WebMethod]屬性,對嗎? – JamesBrownIsDead 2010-02-06 08:49:43

0

MVC可以返回的這些示例JSON,讓您更省心網頁和SO。你google google MVC JSON

0

所以你沒有真正令人信服的理由切換? Asp.Net頁面幾乎沒有任何開銷,它被編譯。

只要關閉諸如viewstate和session之類的東西,如果你沒有使用它們。 工作量=幾乎沒有。