2010-07-09 80 views
1

在ASP.NET webforms中,我用來編寫AJAX應用程序,其中客戶端將使用Web服務或頁面方法和JSON與服務器進行通信。通過JSON完成ASP.NET MVC&AJAX的最佳方法是什麼?

我是ASP.NET MVC的新手,並且發現可以使用使用JSON的Web服務或控制器操作。還有其他選擇嗎?我應該使用Web服務還是控制器操作?爲什麼?

回答

1

大多數MVC應用程序對Ajax操作使用控制器操作。

我認爲「爲什麼」是你利用你的技能和MVC基礎設施。你在應用程序中所做的每件事都遵循MVC模型,爲什麼不把Ajax放入它呢?這只是一種非常自然的模式。

在服務器上,我經常發現自己忘記了是否調用了Ajax動作。我認爲這是一件非常好的事情。調用動作的方法與動作的作用有關。當你使用漸進增強時(Ajax for Javascript啓用,http post for non-js),情況尤其如此。然後模式如下圖所示。我真的很喜歡我可以忘記溝通機制,並專注於我的應用應該做的事情。

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult MyProgressiveEnhancedAction(FormCollection form) 
{ 
    // Handle Html Post 

    if (!Request.IsAjaxRequest()) 
    return ActionViaHtmlPost(); 

    // Ajax Invocation 

    ... 

當我使用這種模式,我經常發現我有膠水的抽象阿賈克斯主場迎戰帖子一點點,其餘的(模型,領域交互等)是常見的。

相關問題