2011-09-03 31 views
1

因此,我正在進行個人MVC項目實踐。我喜歡使用Ajax調用Web服務來更新頁面的響應能力,而不必完成整個回發。在頁面更新中尋找建議,無需發佈郵件

我的知識非常有限,我只知道能夠用Javascript做到這一點。

但是,從新開發人員的角度來看,這存在一個問題。假設您需要通過您的大部分站點對您的域對象上的任何CRUD操作執行相同的行爲。因此,導致(再次爲新的開發人員)缺乏JavaScript的手持(調試,單元測試,強類型等)。

但是爲了避免我的知識缺乏,有沒有一種方法可以在MVC中獲得這種相同的行爲,而無需使用javascript/ajax調用Web服務來執行所有的crud操作?

注意:打我之前關於我的Javascript的鬆散評論....我喜歡Javascript,並且可能有方法否定我使用它爲所有您的CRUD操作獲得的一些觀點行爲我尋求我可能只是不知道。

+1

@Davide - 我很熟悉,並且使用過javascript和jQuery,而且我意識到MVC不是Webforms - 我使用了最好的終端技術來傳達我的問題。看起來我們已經找到了世界上第一個知道所有關於網絡發展的人,而不需要學習任何東西。我猜如果你沒有更好的辦法,你會發表無用的評論。 – pghtech

+1

您可以對javascript進行單元測試,http://www.jsunit。net /,並且Firefox/Firebug或IE開發人員添加的調試功能非常好。 – tvanfosson

回答

1

根據你的問題,這聽起來像你正在尋找一個MVC的UpdatePanel。此控件對ASP.NET MVC無效,但可以使用AJAX(Microsoft.Ajax庫或類似jQuery的)以及從控制器返回PartialView來實現類似的功能。 Telerik的網站上有這樣一個體面的tutorial(只是忽略他們渲染自己控件的部分 - 你可以渲染幾乎任何東西)。

如果這不符合您的需求,我相信,爲了在您的頁面或頁面上實現類似AJAX的行爲,必須包含一定程度的JavaScript。

你可能要考慮使用像jQueryMooTools一個JavaScript框架,以包住AJAX調用行爲,因此,你只需要調用已經測試AJAX調用(如jQuery.ajax())。那麼你的JavaScript只是更新頁面的回調處理程序。

在服務器端,因爲你使用MVC(這我假設是ASP.NET MVC),你的控制器可以只返回一個JsonResult而不是ActionResult,只是有你的控制器內的CRUD操作,而不是創建一個單獨的Web/WCF服務套件。 (您也可以將ActionResult返回給您的jQuery.ajax()調用。)

所以,我不認爲您將能夠脫離JavaScript以便在您的網站中完成AJAX風格的行爲。您可能不需要創建一套Web服務,因爲您可以將它們包含在控制器中。

這可能會讓你得到你想要的。您可能想要查看一下ASP.NET網站上的tutorial以獲取更多的信息(但這不會讓您進入單元測試的一部分)。

相關問題