2012-04-26 53 views
2

我目前正在使用一個asp.net網站,並且正在使用web表單。在使用服務器控件(網格視圖,圖表等)之前,我有一些建立asp.net網站的經驗,我覺得他們很慢。我嘗試了一些擁有所有控件(網格,圖表,樹等)的jquery套件,至少我需要這些套件,並且我主要是因爲它們的速度和改進的用戶體驗而喜歡它們。我打算不使用任何asp服務器控件,而是在我的網站上使用純html和jquery插件。這是一個很好的asp.net網站架構選擇?

不使用任何asp.net服務器控件並將大部分處理移動到客戶端是不錯的選擇嗎?

我知道,如果客戶端瀏覽器關閉了javascript,那麼我的網站根本無法工作。

但除此之外,鑑於我們未來計劃開發移動應用程序和/或實現MVC,我可能會遇到什麼問題?

爲什麼我應該使用asp.net服務器控件?如果每件事情都最終呈現爲html,並且我可以使用jquery ajax請求獲取/發佈數據?

任何幫助是極大的讚賞。

回答

1

如果您沒有使用ASP.NET控件,那麼您並未真正使用ASP.NET webforms。這些控件是爲您提供客戶端和服務器端的交互。

隨着你聲稱這聽起來像MVC是從一開始就走的路。默認的項目已經包含了jQuery,並且由於沒有MVC控件,它只是HTML和Javascript傳遞給GET/POST的控制器。

此外,JSON支持允許數據與jQuery之間非常好,乾淨和輕鬆的交互。

1

遠不是一個完整的答案,我想提供我的2美分。如果你使用.NET來處理任何網站,我認爲你應該使用MVC。使用MVC,您可以更好地分離業務層和用戶界面。

,您可以輕鬆創建支持XML或JSON響應控制器爲您的API的支持,這樣就以你豐富的用戶界面,幫助,使用框架如jQuery,ExtJS的,等等,並準備你支持移動以及使用相同的API。

0

我在一年前處於你的位置,並得出了你的結論。更進一步,我意識到我甚至不需要aspx頁面:只需使用文字(我使用的唯一一個asp.net控件)在頁面加載時注入json數據的主頁面來構建HTML5頁面,然後使用WCF實現一個面向服務的架構來使用jquery ajax來回傳輸數據。

0

我不喜歡微軟MVC - 但那只是我。

MVC是一種模式,而不是技術,所以你可以實現它,但是你想要的。

有些事情,你可能會考慮做的,如果你不想學習微軟的MVC實現,仍然使用的WebForms,但是在使用MVC風格做到這一點是開發應用程序是這樣的:

VIEW:ASP。NET頁面(沒有服務器端控件)builds

控制器:jQuery的/ JavaScript的calls一般處理程序文件(ASHX)和returns JSON

MODEL:ASHX calls模型(自定義類)

這樣,你正在使用MVC模式,但是你並沒有被微軟的實現所束縛,現在,你可以使用相同的控制器開發網站和移動應用程序,因爲你的控制器級別通過ASHX文件公開。

希望是有道理的。

你會明顯地要處理的安全性和訪問您的ASHX文件等

+0

感謝您的回覆。看起來我在我的網站上使用了完全相同的模式,您在回覆中描述了這種模式。到目前爲止,它工作得很好。你知道我應該知道的任何安全問題嗎? – harishm 2012-07-03 15:31:42

0

首先,我覺得「服務器控件」和服務器端值得加以區別。

  • 相信你可以做所有前端的HTML/JS
  • ,如果你有,你需要至少與「服務器端」也許無論它通信的瀏覽器之外的數據源。這與「服務器控件」無關。
  • 驗證/安全性 - 您無法在客戶端執行所有操作。在客戶端一切可以查看/篡改
  • 作爲已經回答了,MVC並不需要控制 - 只是澄清在ASP.Net MVC你可以使用的控制。其核心理念是所有ASP.Net下蓋,您可以根據混合/匹配請 - 甚至語言(VB.Net,C#)

Web表單仍然有它的地方,沒有什麼辦法阻礙jQuery或其他。

「慢」是依賴於很多東西。我不會責怪Web窗體(技術)在所有。代碼出現錯誤,無論使用哪種技術。